jquery
  • html
  • referenceerror
  • 2013-03-13 38 views 0 likes 
    0

    使用jquery的append函数添加标签。JavaScript中的ReferenceError。在追加函数中未定义的字符

    这里是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> 
    

    当我点击一个标签,它会调用该函数addText(部分){}已定义。 我得到的参考错误是,它不能识别我传递给我的函数作为一个完整的字符串,但作为2个数字(减法)。这就是为什么会引发一个错误,指出C没有被定义。

    我试图让一个HTML代码应该是这样的

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

    ,我如何修改我的javascript代码,使我有出现在HTML代码中的2引号(和/或JavaScript将参数解释为字符串而不是2个数字)? 一旦我点击一个标签,就会出现错误

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

    在此先感谢

    回答

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

    Didnt运行它...但尝试它

    +0

    感谢提示,以逃避人物。工作正常 ! – kanadianDri3 2013-03-13 12:18:40

    +0

    真棒,很高兴我可以帮助:) – 2013-03-13 12:48:04

    0

    改成这样:

     $("#sections nav ul").append(
              "<li id='section_'"+section+"'" 
                class='list_section' 
                onClick='addText("'+section+'")>' + section + 
               "</li>"); 
    
    0

    您需要添加字符串分隔符,但有\逃脱他们...

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