我已经浏览了堆栈溢出中的大多数问题,还有谷歌并尝试了一堆代码但仍然无法让我的代码正常工作!
所以我想要做的是通过Ajax获取一些文本和脚本并将它们插入到div中,但是,内联jQuery似乎不起作用。文本可能很长,所以我想要做的是添加文本预览,当用户点击"查看更多"链接,jQuery切换较长的文本以显示和隐藏预览。
以下是我在文档中插入文字的代码;
JSON从Ajax返回
if (resp['marker'].length > 0) {
htmltext = '<h5>Markers<a class="pull-right" onclick="seeall(\'marker\')">See all</a></h5><hr>';
for (var i = 0; i < resp['marker'].length; i++) {
htmltext += '<p><a>'+resp['marker'][i]['title']+'<a class="label label-warning"> > Go to marker</a></a></p>';
htmltext += '<p id="marker-prev'+i+'"><span>'+resp['marker'][i]['advertisement'].substring(0,50)+'</span><a onclick="$(\'#marker-all'+i+'\').toggle();$(\'#marker-prev'+i+'\').toggle()"> More </a></p>';
htmltext += '<p style="display:none" id="marker-all'+i+'"><span>'+resp['marker'][i]['advertisement']+'</span><a onclick="$(\'#marker-all'+i+'\').toggle();$(\'#marker-prev'+i+'\').toggle()"> Less </a></p>';
htmltext += '<p><span>'+resp['marker'][i]['catagory']+'</span></p>';
}
htmltext += '<hr>';
$('#markerssr').show();
$('#markerssr').html(htmltext);
}
&#13;
有趣的是,几行下来,这个代码有效;
JSON从Ajax调用返回
if (resp['corp'].length > 0) {
htmltext = '<h5>Businesses<a class="pull-right" onclick="seeall(\'corp\')">See all</a></h5><hr>';
for (var i = 0; i < resp['corp'].length; i++) {
htmltext += '<p><a>'+resp['corp'][i]['name']+'</a><a class="label label-warning"> > Go to business</a></p>'
htmltext += '<p id="corp-prev"><span>'+resp['corp'][i]['description'].substring(0,50)+'</span><a onclick="$(\'#corp-all\').toggle();$(\'#corp-prev\').toggle()"> More </a></p>';
htmltext += '<p style="display:none" id="corp-all"><span>'+resp['corp'][i]['description']+'</span><a onclick="$(\'#corp-all\').toggle();$(\'#corp-prev\').toggle()"> Less </a></p>';
htmltext += '<p><span>'+resp['corp'][i]['address']+'</span><span>'+resp['corp'][i]['email']+'</span></p> ';
}
htmltext += '<hr>';
$('#businessessr').show();
$('#businessessr').html(htmltext);
}
&#13;
抱歉,我的代码格式很糟糕,但是我的截止日期。
答案 0 :(得分:0)
我看到的第一件事(但可能不是什么新东西),就是在内联jQuery中调用了不同的ID。
$(\'#marker-all\').toggle()
VS $(\'#corp-prev\').toggle()
。
此外,您确定页面上只有 1#marker - all吗? jQuery在找到第一个ID后将停止搜索。
在浏览器控制台中运行以下代码时:
$('#marker-all').length
输出1吗?还是0?