我有一个包含数据的var脚本。但是,当我将其添加到另一个变量时,它无效。
var x = '32"';
onclick="javascript:selectSize(' + "'" + x + "'" + ');"
我想要
onclick="javascript:selectSize('32"');"
但它变成了
onclick="javascript:selectSize('32"');""=""
我不知道发生了什么
答案 0 :(得分:-1)
来自评论,使用编码/解码URI组件如下
var a=encodeURIComponent('abc"');
console.log(a);
console.log(decodeURIComponent(a));

答案 1 :(得分:-1)
onclick="javascript:selectSize('32"');"
^ ^
HTML解析器将在将值传递给JS引擎执行之前解析属性值。
您正在使用"
来分隔属性值。
第二个"
结束属性值。
如果您想在"
分隔的属性值中使用"
作为数据,则必须将其表示为实体(例如"
)。
var html_x = x.replace(/"/g, """);
当您开始生成嵌套语言时,转义变得非常痛苦。
您在JavaScript中嵌入了嵌入JavaScript的JavaScript。
避免将字符串混合在一起构建DOM。直接使用DOM方法。
var x = '32"';
var button = document.createElement("button");
button.addEventListener("click", function (event) {
selectSize(x);
});