gpt4 book ai didi

jquery - 为什么 jQuery load() 在内部使用虚拟 div?

转载 作者:行者123 更新时间:2023-12-01 07:08:29 25 4
gpt4 key购买 nike

load() 函数的 jQuery 源代码中看到,收到响应后:

        self.html( selector ?

// If a selector was specified, locate the right elements in a dummy div
// Exclude scripts to avoid IE 'Permission Denied' errors
jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) :

// Otherwise use the full result
responseText );

“在虚拟 div 中找到正确的元素”是什么意思??为什么需要一个虚拟 div?

最佳答案

它不是 ajax 代码的一部分,而是 load() 的一部分允许加载响应内容片段的方法。

创建 temp 元素,以便在查询片段时,如果它是最上面的元素,那么也会获取它,否则 find()方法将排除根元素。那么您将需要使用 filter 的组合/find()来做到这一点。

例如:如果响应是 <div class="result">....</div>选择器是 .result那么如果我们使用$(responseText ).find(selector) ,它会失败,因为 result不是该元素的后代,而是根,因此只需将响应添加为 temp 元素的后代,您就可以将 html 设为 <div><div class="result">....</div></div> ,现在只需使用 find('.result')返回正确的元素。

关于jquery - 为什么 jQuery load() 在内部使用虚拟 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34412055/

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