嗯,这不是一个真正的问题,但我真的很感兴趣。
通常我们将元素附加到头部/身体,如
$("<style><\/style>").appendTo("head");
$("<div><\/div>").appendTo("body");
当我们查看生成的源代码时,这些元素确实存在。但,
$("<script><\/script>").appendTo("head");
脚本元素不会出现在源代码中。
我查看了jQuery的源代码,除了纯javascript之外没有发现任何特别之处
append: function() {
return this.domManip(arguments, true, function( elem ) {
if ( this.nodeType === 1 ) {
this.appendChild( elem ); // <--
}
});
},
如果我使用纯 Javascript 将脚本元素添加到头部,它会显示出来。
那么 jQuery 是如何做到让脚本“不可见”同时又“可访问”的呢?
script 标签有什么特别之处?
更新:回答前请注意
- 我不是想解决问题。
- 我正在使用 Firebug/Developer 工具。
- 我正在查看生成的源代码。