У меня есть ссылка на элемент DOM и объект jQuery, который является результатом селектора, и я хочу проверить, находится ли тот определенный элемент DOM в том объекте jQuery. За исключением цикличного выполнения через целый объект jQuery и проверяющий на равенство, там простой путь в jQuery, чтобы сделать это?
Я попробовал .contains
, :contains
, .has
и :has
, и ни один из них, кажется, не делает задания. Кроме того, я должен упомянуть, что все элементы, с которыми я работаю, находятся на том же древовидном уровне DOM, таким образом, нет никакой потребности волноваться о родителях/детях.
похож на ответ Гумбо, но более тонкий:
if ( obj.filter(function() { return this == el; }).length ) {
// obj contains el
}
Попробуйте следующее:
var result = $("selector").find("*").filter(function() {
return this === elem;
}).length === 1;
elem
- это элемент DOM, который вы ищете.
Вроде хакерский, но у меня работает:
$.inArray($('#single-element').get(0), $('.many-elements').get()) != -1