如何在html标签中附加特殊字符?
<html>
<head></head>
<body>
<script>
tool_tip_str = '!#$%^&&*()<>\'\"';
var html = '<div title="' + tool_tip_str + '"> text is here </div>';
document.write(html);
</script>
</body>
此代码正在生成结果
<div "="" title="!#$%^&&*()<>'"> text is here </div>
但它应该产生
<div title="!#$%^&&*()<>\'\""> text is here </div>
为什么奇怪的字符
&#34; =&#34;&#34;
正在追加结果吗?有没有办法用黑色斜杠显示单引号或双引号?
答案 0 :(得分:2)
我得到了这个结果:
使用:
tool_tip_str = '!#$%^&&*()<>\'"';
如果要将所有特殊字符更改为HTML实体,则可以编写如下函数:
function change(mystring)
{
return mystring.replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, """);
}
然后执行:
tool_tip_str = change(tool_tip_str);
但显然,您必须更改change()
中的所有内容才能获得您想要的内容。
答案 1 :(得分:0)
<body>
<script>
tool_tip_str = '!#$%^&&*()<>\'\"';
tool_tip_str = tool_tip_str.replace('"','"');
var html = '<div title="' + tool_tip_str + '"> text is here </div>';
document.write(html);
</script>
</body>
可能需要转换&#34;在输出之前进入html实体。