JQuery находит (..) пересекающийся метод не включает текущий узел - он запускается с детей текущего узла. Что лучший способ состоит в том, чтобы назвать операцией находки, которая включает текущий узел в его соответствие алгоритму? Не просматривая документы ничто сразу не выскакивает во мне.
Я думаю, что andSelf
- это то, что вам нужно:
obj.find(selector).andSelf()
Обратите внимание, что при этом всегда будет добавлен текущий узел, независимо от того, не соответствует селектору.
$('selector').find('otherSelector').add($('selector').filter('otherSelector'))
Вы можете сохранить $ ('selector')
в переменной для ускорения. Вы даже можете написать для этого собственную функцию, если она вам очень нужна:
$.fn.andFind = function(expr) {
return this.find(expr).add(this.filter(expr));
};
$('selector').andFind('otherSelector')
Вы не можете сделать это напрямую, самое близкое, что я могу придумать, - это использование .andSelf ()
и вызов . filter ()
, например:
$(selector).find(oSelector).andSelf().filter(oSelector)
//or...
$(selector).find('*').andSelf().filter(oSelector);
К сожалению, .andSelf ()
не принимает селектор, что было бы удобно.