gpt4 book ai didi

javascript - jQuery 引用创建的元素

转载 作者:行者123 更新时间:2023-11-27 23:06:13 29 4
gpt4 key购买 nike

我很困惑,elementsWrapper1 和 elementsWrapper2 有什么区别?最后一个日志表达式不应该计算为 true 吗?

HTML:

<div class="container">
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
</div>

JS(jQuery):

var container = $('.container');

var elementsWrapper1 = $('<div>', {
class : 'elements-wrapper'
});

container.children().wrapAll(elementsWrapper1);

var elementsWrapper2 = $('.elements-wrapper');

console.log(elementsWrapper1);
console.log(elementsWrapper2);

//Returns False, but why?
console.log(elementsWrapper1 === elementsWrapper2)

谢谢

最佳答案

每次调用 $() 时,要么创建一个对象(如使用 elementsWrapper1 所做的那样),要么执行选择(如使用 elementsWrapper2 那样) code>),它创建一个新的 jQuery 对象。即使两个 jQuery 对象引用同一个 DOM 元素集合,它们也不是同一个 Javascript 对象,因此 === 会认为它们不相等。

如果要测试两个 jQuery 对象是否等效,可以使用 .is() 方法。

console.log(elementsWrapper1.is(elementsWrapper2));

参见jQuery object equality

关于javascript - jQuery 引用创建的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36557838/

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