jquery中$('#id p')和$('#id').find('p')为什么不相等,能说详细点吗

$('#id p') == $('#id').find('p') //false

$('#id p') === $('#id').find('p') //false

但是$('#id p')的内容和$('#id').find('p')一样的,我认为是类型不同,于是

我已经懵了,谁可以来解释下这两个的值为什么不同吗.英文不好,官方API看不懂
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我觉得你提的问题跟下面问题是一样的:
这两个对象看起来是一样的,但是它们并不是同一个对象,因为它们的内存地址是不一样的。
所以即使运行下面的代码:
这两个对象都是不一样的,这说明创建jQuery对象的时候,并没有使用单例模式,即使相同的选择器,创建的也是不一样的对象,这也是为什么在我们的开发中要尽量先保存创建的jQuery对象,然后多次使用。
希望对你能有帮助!
两个对象的dom是一样的,但是生成的jQuery对象是不一样的
应该比较dom本身不是 jQuery对象
$('#a .b')返回的是b節點
$('#a').find('.b')返回的是a節點下的b節點
你可以用控制台輸出一下$('#a .b')的prevObject是#a
$('#a').find('.b')的prevObject是html