[英]Adding JavaScript code with jQuery.html()
<!DOCTYPE HTML>
<html>
<head>
<script src="js/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function() {
var x="<script>alert('hello world');</script>";
$("#div_one").html(x);
});
</script>
</head>
<body>
<div id="div_one">
</div>
</body>
</html>
为什么这不起作用? 我希望脚本标签之间的JS代码能够被解释并看到警告消息...
我想做的事:
我编写了一组函数,这些函数根据用户输入(JavaScript)从数组中添加和删除项目。 然后,我有一个函数draws()数组中保存的项目的ul-list。 在每个项目的后面,我想提供一个删除链接,该链接调用一个JavaScript函数,该函数从数组中删除该项目,然后调用drawList()重新绘制列表。
如果没有该安全策略,则只需按照上面显示的代码进行操作即可。
我相信那是一些奇怪的浏览器错误。 由于某些原因,您无法在脚本块中包含</script>
。
改成
var x="<scr"+"ipt>alert('hello world');</scr"+"ipt>";
那不是错误。 问题在这里:
<script>
$(document).ready(function() {
var x="<script>alert('hello world');</script>";
$("#div_one").html(x);
});
</script>
浏览器认为第一个<script>
标记与代码内的</script>
关联。
如您所见,代码显示在DOM中,而不是执行。
为了进一步证明这一点,请参见以下示例: http : //jsfiddle.net/DerekL/Ah8Qz/
var x = $("<script>").html("alert('hello world');");
$("#div_one").append(x);
如果你避免</script>
结束标记,那么就不会有问题,因为HTML解析器将忽略任何打开<script>
标记内<script>
综上所述,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.