gpt4 book ai didi

javascript - 调用 $(this) 时,jQuery 会重新查询 DOM 吗?

转载 作者:数据小太阳 更新时间:2023-10-29 05:23:03 26 4
gpt4 key购买 nike

在下面的代码中,当 $(this) 被调用时,jQuery 是否重新查询 DOM,就好像选择器已传递给它一样(使用对象的某些属性作为选择器) ,或者 jQuery 是否保留先前返回的对象?

$('.someButton').on('click', function() {
$(this).remove(); // Is this another lookup, or just a wrapper for the previously returned object?
});

最佳答案

它不会重新查询 DOM,this 已经是一个元素。 jQuery 只是将上下文设置为元素,调整长度,然后返回自身。此代码来自 init 函数,它在您执行 $(something) 时运行,这是一个大的 if..else 语句的一部分,它还检查选择器、数组等:

// HANDLE: $(DOMElement)
} else if (selector.nodeType) {
this.context = this[0] = selector;
this.length = 1;
return this;

所以基本上它只是将元素包装在一个新的 jQuery 对象中。

关于javascript - 调用 $(this) 时,jQuery 会重新查询 DOM 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21199891/

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