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

get a string variable with quotation marks in getElementById inside a innerHTML

我正在尝试获取带有数量 ID 的值。这段代码在 JavaScript 中,当它运行时,id 数量中的报价是这样的 "quantity',我认为这就是问题所在。任何人都可以建议使用什么来获取这样的 ID "quantity"

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

您需要 escape 引号。喜欢:

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

我会高度建议不要使用内联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 处理 "delegated" 事件的方式。