我有一个参照本发明的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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top