我有以下问题:
我正在尝试构建一个类似的简单字符串:
for(var x in classicde) {
specificWines += "<li><a onClick='displayWine(" + "'GV'" + ")'>" + classicde[x] + "</a></li>";
}
然后我将此字符串插入DOM结构中:
var list = document.getElementById("leftmenu-list");
list.innerHTML = specificWines;
结果如下(类似于我缩短了它):
<ul id="leftmenu-list">
<li><a onclick="displayWine(" gv')'>Classic1</a></li>
</ul>
因此onclick事件中存在问题,我无法找到问题。
答案 0 :(得分:0)
'displayWine(" + "'GV'" + ")'
引号错误应该是'displayWine(" + "\"GV\"" + ")'
所以单引号包含双引号,并且不会破坏渲染上的属性。 \
用于转义引号,因此它不会破坏JS代码。
for(var x in classicde) {
specificWines += "<li><a onClick='displayWine(" + "\"GV\"" + ")'>" + classicde[x] + "</a></li>";
}
否则,当您看到最终破坏属性的单引号时。如果在字符串中传递字符串,则需要确保使用不同的引号。
现在应该呈现为
<li><a onclick='displayWine("gv")'>Classic1</a></li>