日期:2014-05-16  浏览次数:20454 次

请教个高级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.getElementsById,函数多了个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