为什么执行此命令<script>
:
$('#jq_script').html("<script>$('#test').text('test');<\/script>");
但这不是吗?
document.getElementById('js_script').innerHTML = "<script>$('#test').text('test');<\/script>";
您可以在这里看到它的运行情况
从jQuery关于.html()的文档中:
此方法使用浏览器的innerHTML属性。某些浏览器可能不会返回完全复制原始文档中的HTML源代码的HTML。例如,如果Internet Explorer仅包含字母数字字符,则有时会省略属性值周围的引号。
html
是jQuery函数。innerHTML
是非标准(但受到良好支持)属性。
如果看一下代码,您将看到.html()
解析脚本并eval
对其进行解析。
要在源代码中找到它:
查找html
声明:https : //github.com/jquery/jquery/blob/1.11.0/src/manipulation.js#L564-604
看到了.append
。append
依次调用DomManip[ulate]
将进行解析和eval
编写脚本的代码。
相关位DomManip[ulate]
:https : //github.com/jquery/jquery/blob/1.11.0/src/manipulation.js#L684-709
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句