jQuery: Проверьте, содержит ли объект jQuery (включает) точный элемент DOM

У меня есть ссылка на элемент DOM и объект jQuery, который является результатом селектора, и я хочу проверить, находится ли тот определенный элемент DOM в том объекте jQuery. За исключением цикличного выполнения через целый объект jQuery и проверяющий на равенство, там простой путь в jQuery, чтобы сделать это?

Я попробовал .contains, :contains, .has и :has, и ни один из них, кажется, не делает задания. Кроме того, я должен упомянуть, что все элементы, с которыми я работаю, находятся на том же древовидном уровне DOM, таким образом, нет никакой потребности волноваться о родителях/детях.

14
задан thorn̈ 17 March 2017 в 13:51
поделиться

3 ответа

похож на ответ Гумбо, но более тонкий:

if ( obj.filter(function() { return this == el; }).length ) {
    // obj contains el
}
9
ответ дан 1 December 2019 в 12:13
поделиться

Попробуйте следующее:

var result = $("selector").find("*").filter(function() {
    return this === elem;
}).length === 1;

elem - это элемент DOM, который вы ищете.

2
ответ дан 1 December 2019 в 12:13
поделиться

Вроде хакерский, но у меня работает:

$.inArray($('#single-element').get(0), $('.many-elements').get()) != -1
0
ответ дан 1 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: