使用javascript构建字符串

Building string with javascript

本文关键字:字符串 构建 javascript 使用      更新时间:2023-09-26

我有以下问题:

我正试图构建一个简单的字符串:

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事件中有一个问题,我找不到这个问题。

您的引号在'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>