我的脚本出现问题,我自己也无法看到问题:
$("#mainsub").append(newRow + "<div class='showMore' onclick='document.dispatchEvent(expand, { 'postId': " + pf.id + " })'>Show More</div></div>");
我的webkit调试器说:&#34;未捕获的SyntaxError:意外的令牌;&#34;当我点击元素时。
有没有人遇到过这个?代码行有问题吗?
编辑:** newRow看起来像这样:
var newRow = "<div id=" + pf.id + ">"+rowContents;
rowContents是:
rowContents += "<div class='"+tagName+"'>"+tag.text()+"</div>";
标签名称仅来自我正在解析的一些xml。
另一个编辑:我只是将整个功能放入以防万一这是有帮助的
pf.parseResults = function(){
$("#mainsub").empty();
var $xml = $(pf.xml);
var $query = $xml.find('query_result').children().each(function() {
var row = $(this);
var rowContents = "";
row.children().each(function() {
var tag = $(this);
var tagName = tag[0].tagName;
if(tagName != "ID"){
rowContents += "<div class='"+tagName+"'>"+tag.text()+"</div>";
}
if(tagName === "ID"){
pf.id = tag.text();
}
});
var newRow = "<div id=" + pf.id + ">" + rowContents;
$("#mainsub").append(newRow + "<div class='showMore' onclick='document.dispatchEvent(expand, { \'postId\': " + pf.id + " })'>Show More</div></div>");// this fires an event with data attached listing the id of the element the user tapped/**/
});
$("#mainsub").append("<div onclick='document.dispatchEvent(nextPage)'><p>Next</p></div>");// figure out how to not show next when there will not be another page
if(pf.getPage > 0){
$("#mainsub").append("<div onclick='document.dispatchEvent(previousPage)'><p>Previous</p></div>");// show go to previous as long at it will exist
}
};
答案 0 :(得分:2)
当您嵌套相同类型的引号(在您的情况下为单引号)时,您必须像这样转义它们:
$("#mainsub").append(newRow + "<div class='showMore' onclick='document.dispatchEvent(expand, { \'postId\': " + pf.id + " })'>Show More</div></div>");
由于这行代码很长,并且我没有更改过多的魔杖,我会指出转义的引号位于此expand, { \'postId\': " + pf.id + " }
片段中。