请教个高级js的问题
本帖最后由 aiimi 于 2014-01-08 21:53:11 编辑
<div id="div1">
</div>
<script type="text/javascript>
document.getElementsById('div1').innerHTML='<div id="div2"></div><script>document.getElementsById('div2').innerHTML="text";</script>';
</script>
为什么填充进去的javascript运行找不到div2? 在jquery里也一样
------解决方案--------------------1:是getElementById不是getElementsById
2:目测
------解决方案--------------------目测:
1:<script type="text/javascript
">
2:即使innerHTML中的脚本块能这么执行,div2也应该是在双引号之内getElementsById("div2")
3:innerHTML中的脚本块不能这么直接执行
------解决方案--------------------最后补充下,这个问题给个最低分也就可以了.标题能换个就最好了
------解决方案--------------------考我们细心度。
js字符串中出现任何< >标签都可以,就是不能出现</script>标签。
var $a = '<div id="div2"></div><script>document.getElementById("div2").innerHTML="text"</';
var $b = 'script>';
var $c = $a+$b;
document.getElementById('div1').innerHTML=$c;
------解决方案--------------------谁见过把JS写在div上,写在div上就是文本了。
document.write()输出脚本标签和JS内容。
------解决方案--------------------设置控件innerHTML包含script里面的代码不执行的,自己用正则提取去脚本eval执行
script闭合也出错了,字符串中包含</script>要转义下,也没用转义单引号
jquery的html方法会自动解析脚本,没效果是脚本出错的问题
<div id="div1">
</div>
<script type="text/javascript>
$('#div1').html('<div id="div2"></div><script>document.getElementsById(
\'div2\').innerHTML="text";
<\/script>');
</script>
------解决方案--------------------<script type="text/javascript
">
你写的代码怎么这么多小毛病,"也少了
document.getElement
sById,函数多了个s。。
自己认真看下上面楼说的问题,改正过来
就你那个代码循序绝对能找到,只可能是你代码有问题
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<div id="div1">
</div>
<script type="text/javascript">
$('#div1').html('<div id="div2"></div><script>document.getElementById(\'div2\').innerHTML="text";<\/script>');
</script>
------解决方案--------------------发你的代码,肯定是你用不对,你的那个对象如果是iframe里面的,要先获取到iframe的document,在fin