在我的javascript代码中, 我有一个有字符串的变量。字符串包含'或引用它。示例
var name= "hi's";
我正在代码中动态创建链接。它被写为字符串,即变量content
将动态用于在html页面上创建链接。
content= '<a onclick="javascript:fun(\'' + name + '\');">'
这里给出的问题是变量name
中的引号完成了内容中的字符串。因此,内容的其余部分无法识别..
如果var name = 'hi"s';
出现类似的问题
即如果有双引号。
plz help
答案 0 :(得分:3)
这就是你如何正确地创建一个锚,完全避免逃避任何事情。
var name = "Hi's",
anchor = document.createElement('a');
// should have an href
// links will be displayed differently by some browsers without it
anchor.href = '#';
// using onclick for pragmatic reasons
anchor.onclick = function() {
fun(name);
return false;
}
anchor.innerHTML = 'hello world';
// later
mydiv.appendChild(anchor);
顺便说一下,onclick
属性不应该以{{1}}开头;这已经暗示了。
<强>更新强>
如果您仍对内联版本感兴趣,则变量需要两个编码步骤:
第一个是正确序列化变量;我会使用"javascript:"
作为
第二个是HTML转义;最简单的形式就是用适当的编码值替换双引号。
例如:
JSON.stringify()