0

使用来自 jquery 的 append 函数添加标签。

这是阻塞的jquery代码

tabSections(data).forEach(function(section){
    $("#sections nav ul").append("<li id='section_"+section+"' class='list_section' onClick='addText("+section+")'>" + section + "</li>");
});

以及来自浏览器的 HTML 代码

<li onclick="addText(287585-C)" class="list_section" id="section_287585-C">287585-C</li>

当我单击li标签时,它会调用定义的函数addText(section){}。我得到的参考错误是它无法识别我传递给函数的完整字符串,而是 2 个数字(减法)。这就是为什么会出现错误说明 C 未定义的原因。

我正在尝试获取一个看起来像这样的 html 代码

<li onclick="addText('287585-C')" class="list_section" id="section_287585-C">287585-C</li>

如何修改我的 javascript 代码,以便在 HTML 代码中出现 2 个引号(和/或 javascript 将参数解释为字符串而不是 2 个数字)?单击标签后会引发错误

toString()函数也没有做任何事情。

提前致谢

4

3 回答 3

1
tabSections(data).forEach(function(section){
    $("#sections nav ul").append('<li id="section_'+section+'" class="list_section" onClick="addText(\''+section+'\')">' + section + '</li>');
});

没有运行它...但尝试一下

于 2013-03-13T11:20:38.840 回答
0

改成这样:

        $("#sections nav ul").append(
                             "<li id='section_'"+section+"'" 
                                  class='list_section' 
                                  onClick='addText("'+section+'")>' + section + 
                              "</li>");
于 2013-03-13T11:06:35.370 回答
0

您需要添加字符串分隔符,但使用\...

tabSections(data).forEach(function(section){
    $("#sections nav ul").append("<li id='section_"+section+"' class='list_section' onClick='addText(\""+section+"\")'>" + section + "</li>");
});
于 2013-03-13T11:07:31.890 回答