jQuery的:检查是否jQuery对象包含(包括)精确DOM元素
题
我有一个参照本发明的DOM元素,和一个jQuery对象,它是一个选择器的结果,我要检查,如果该特定的DOM元素是在jQuery对象。短通过整个jQuery对象循环和检查平等,有没有在jQuery的一个简单的方法来做到这一点?
我已经试过.contains
,:contains
,.has
和:has
,和他们都不做的工作。另外,我要指出,所有我的工作元素是相同的DOM树的水平,所以没有必要担心父母/子女。
解决方案
类似于Gumbos答案,但更薄:
if ( obj.filter(function() { return this == el; }).length ) {
// obj contains el
}
其他提示
$yourJqueryObject.is(yourDomElement)
请参阅。是()在1.6 的加入。
尝试这种情况:
var result = $("selector").find("*").filter(function() {
return this === elem;
}).length === 1;
elem
是你正在寻找的DOM元素。
类似大卫的答案,但甚至更薄:
if ( obj.filter(el).length ) {
// obj contains el
}
均田的hackish,但对我的作品:
$.inArray($('#single-element').get(0), $('.many-elements').get()) != -1
不隶属于 StackOverflow