在innerHTML中的getElementById中获取带引号的字符串变量

时间:2015-03-25 17:06:04

标签: javascript html

我正在尝试获取数量为id的值。这段代码是用JavaScript编写的,当它运行时,id数量的引用就像这个"quantity',我认为这就是问题所在。任何人都可以建议使用什么来获取像"quantity"

这样的ID
tab.innerHTML += "<input  type='button' onclick='AddtoCart(document.getElementById('quantity').value;);' />";

2 个答案:

答案 0 :(得分:3)

您需要escape引号。像:

tab.innerHTML += "<input  type='button' onclick='AddtoCart(document.getElementById(\"quantity\").value;);' />";

答案 1 :(得分:0)

HIGHLY 建议不要使用内联JavaScript。正如您已经看到的那样,它会给您带来麻烦。它将来会给你带来更多麻烦。

而是按下这样的按钮:

tab.innerHTML += "<input type='button' class='addToCart' />";

然后在你的代码的其他地方:

tab.addEventListener('click', function(e){
    var classes = e.target.className.split(' ');

    if(classes.indexOf('addToCart') >= 0){
        AddtoCart(document.getElementById('quantity').value);
    }
});

这类似于jQuery处理&#34;委托&#34;事件