【发布时间】:2014-02-18 09:36:08
【问题描述】:
我在使用 javascript 开发 html 时遇到一个问题。
最后我想要的 html 是:
<div id="test">
<div onclick="alert("it's a test.")">Show</div>
</div>
但在代码中我希望它是这样实现的:
<div id="test"></div>
<script>
var tmp="it's a test.";//be careful, there must be a single quote in this variable
$('#test').append("<div onclick='alert(\" "+tmp+" \")'>Show</div>");
</script>
在萤火虫中显示:
<div id="test">
<div ")'="" test.="" a="" s="" onclick="alert(" it">Show</div>
</div>
所以我认为这是一个逃避问题。但我认为它至少有 3 个深度级别。 任何人都可以帮助我吗?谢谢!
【问题讨论】:
-
当你使用 jQuery 时为什么要
onclick=...? -
因为这段代码在for循环中。所以这个页面中的代码是完全动态的。
-
那你就用闭包吧!
-
@SalmanA 或
click的data参数,这使得它更简单(见我的回答)。
标签: javascript jquery html escaping