为什么用jQuery在头部插入脚本如此奇怪?

Why is inserting a script in head with jQuery so strange?

本文关键字:脚本 插入 jQuery 头部 为什么      更新时间:2023-09-26

如果我确认我已经有了jQuery,

$('<script type="text/javascript"/>').text("alert('boo');").appendTo($("head"));

按预期工作。但是无法在firebug或Chrome的开发工具中查看脚本。

没有人推荐这样插入脚本,每个人都说

headtag=document.getElementsByTagName('head')[0];
scripttag=document.createElement('script');
scripttag.type='text/javascript';
scripttag.innerHTML="alert('boo');";
headtag.appendChild(scripttag);
在这种情况下,它在firebug中是可见的。为什么后者比前者更可取?为什么firebug不显示脚本?

当jQuery处理要附加到DOM的HTML文本时,它总是首先剥离<script>内容。它在更新DOM后计算脚本。