aa.js:function test(){
var aa= "<script>alert(11);</script>";
var insertInto = document.getElementById('input');
var insertDiv = document.createElement('div');
insertDiv.innerHTML= aa;
insertInto.appendChild(insertDiv);
}<script src="aa.js"></script>
<span id = "input">aaaaa</span>
<input type = "button" value = "test" onclick = "test();"/>
需求就是将含有一个函数的aa拼接到页面
ff下可以alert出来,ie7下不行,为什么?怎么解决?
<html>
<head> <script language="javascript">
function test() {
var aa = "alert(11);";
var insertInto = document.getElementById('input');
var insertDiv = document.createElement('div');
insertDiv.innerHTML = eval(aa);
insertInto.appendChild(insertDiv);
}
</script></head>
<body>
<span id="input">aaaaa</span>
<input type="button" value="test" onclick="test();" />
</body>
</html>
var aa= "<script>alert(11);</script>";
是不是应该写成
var aa= "<script>alert(11);<\/script>";
var aa= "<script>alert(11);</"+"script>"; //script标签中不允许出现script标签,所以需要用字符串连接
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test Page</title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<style type="text/css"> </style>
<script type="text/javascript">
<!--
function test(){
var aa= "alert(11);";
var script = document.createElement('script');
script.text = aa;
document.body.appendChild(script);
}
//-->
</script>
</head> <body> </body>
<script type="text/javascript">
<!--
test();
//-->
</script>
</html>
<span id="input">aaaaa</span>
<input type="button" value="test" onclick="tesxt()"/>
<script>
function tesxt() {
var aa = "<span style='display:none'>Bug</span><script defer>alert(11);</sc" + "ript>";
var insertInto = document.getElementById('input');
var insertDiv = document.createElement('div');
insertDiv.innerHTML = aa;
insertInto.appendChild(insertDiv);
}
</script>
结构与内容相混合,代码不易维护,而且非常容易出错!
Web 开发常用手册JScript语言参考.rar
http://download.csdn.net/source/308916DHTML参考手册.rar
http://download.csdn.net/source/308913样式表中文手册.chm
http://download.csdn.net/source/304124
var insertInto = document.getElementById('input');
var insertDiv = document.createElement('div');
var s = document.createElement("script");
s.text="alert(11);";
insertDiv.appendChild(s);
insertInto.appendChild(insertDiv);
alert(insertInto.innerHTML)
}
在insertInto.appendChild(insertDiv); 这句之前alert
4楼的方法
在 document.body.appendChild(script); apend之后alert
问题基本解决了,谢谢各位