请教个高级js的问题 本帖最后由 aiimi 于 2014-01-08 21:53:11 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1:是getElementById不是getElementsById2:目测 目测: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> 不好意思各位哥哥,我可能打代码没点问题,但是就算打对了也是没法执行的其实我想实现的功能是:一个iframe里面,用js填入 html和js,让js能执行,但发现一般的js都能执行,但是js没法找到填入的html我是把html写在前,js写在后 <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> <div id="abc"> aaaaaaaaaaaaaaaaa</div><script>alert($('#abc').html());</script>弹出一个 undefined 上面是填充到iframe的body里之后 发你的代码,肯定是你用不对,你的那个对象如果是iframe里面的,要先获取到iframe的document,在find那个对象 各位大大,问题解决了之前是直接find到这个iframe,然后.find('html').html('代码');这样里面的javascript其实执行的还是父页的DOM,所以会找不到自己的div,我不知道这是不是跟渲染有关,如果不是后面填充进去,而是直接在iframe的src页里写这些代码就不会有这个问题,因为我尝试过往里面填充alert($('body').html());发现弹出来的是父页的body,这个谁有深入的研究吗?后来无意中发现了一个html5的新属性,不会产生这样的问题就是 iframe的srcdoc直接把代码赋值给它,就不会产生这个问题!谢谢大家的帮助 两个简单js冲突,求大侠指教 这种问题怎么解决,object的key有类型限制么 JS 可否模仿 FIREFOX里的CTRL+滚动鼠标中轴放大,缩小页面? 写了个图片切换效果,大伙看看! 帮忙看下,做的图片切换为什么会有闪烁 恳求javascript全码关于用户名和密码~ 急。JS高手进。 JavaScript计算坐标 如何取得html的<span id='1'>test1</span> <p id ='2'>test2</p> 的内容(text) 如何把一字串变量转为数组 字符串反转义的问题,困扰了我一天了! 读取XML节点属性 紧急求助
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;
document.write()输出脚本标签和JS内容。
</div>
<script type="text/javascript>
$('#div1').html('<div id="div2"></div><script>document.getElementsById(\'div2\').innerHTML="text";<\/script>');
</script>
<div id="div1">
</div>
<script type="text/javascript">
$('#div1').html('<div id="div2"></div><script>document.getElementById(\'div2\').innerHTML="text";<\/script>');
</script>
aaaaaaaaaaaaaaaaa
</div>
<script>
alert($('#abc').html());
</script>弹出一个 undefined
因为我尝试过往里面填充alert($('body').html());发现弹出来的是父页的body,这个谁有深入的研究吗?后来无意中发现了一个html5的新属性,不会产生这样的问题就是 iframe的srcdoc直接把代码赋值给它,就不会产生这个问题!谢谢大家的帮助