我有一个对 DOM 元素的引用,以及一个作为选择器结果的 jQuery 对象,我想检查那个特定的 DOM 元素是否在那个 jQuery 对象中。没有循环遍历整个 jQuery 对象并检查是否相等,jQuery 中有没有直接的方法来做到这一点?
我已经尝试过.contains
,和:contains
,但他们似乎都没有完成这项工作。另外,我应该提到我正在使用的所有元素都在同一个 DOM 树级别上,因此无需担心父母/孩子。.has
:has
$yourJqueryObject.is(yourDomElement)
请参阅1.6 中添加的.is()。
类似于 Gumbos 的答案,但更苗条:
if ( obj.filter(function() { return this == el; }).length ) {
// obj contains el
}
试试这个:
var result = $("selector").find("*").filter(function() {
return this === elem;
}).length === 1;
elem
是您要查找的 DOM 元素。
类似于大卫的回答,但更苗条:
if ( obj.filter(el).length ) {
// obj contains el
}
有点骇人听闻,但对我有用:
$.inArray($('#single-element').get(0), $('.many-elements').get()) != -1