gpt4 book ai didi

jQuery $ ("<script></script>").appendTo ("head");不会出现在生成的源代码中。如何?

转载 作者:行者123 更新时间:2023-12-01 05:04:34 24 4
gpt4 key购买 nike

嗯,这并不是一个真正的问题,但有些东西确实让我感兴趣。

通常我们将元素附加到 head/body 上,例如

$("<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/开发人员工具。
  • 我正在查看生成的源代码。

最佳答案

这并不像您首先认为的那样与 appendTo 唯一相关。相反,这是 jQuery 为其所有将任意 HTML 字符串插入 DOM 的函数所做的事情。

要了解为什么会发生这种情况的深入答案,请阅读 John Resig 对同一问题的回复 here .

据我所知,jQuery 实际上在将 script 标签插入 DOM 后将其删除,以避免重新执行代码。

关于jQuery $ ("&lt;script&gt;&lt;/script&gt;").appendTo ("head");不会出现在生成的源代码中。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com