用javascript构建字符串

时间:2014-09-04 23:38:54

标签: javascript html string

我有以下问题:

我正在尝试构建一个类似的简单字符串:

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事件中存在问题,我无法找到问题。

1 个答案:

答案 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>