使用jQuery查找自己(就像最近但向下遍历)

时间:2013-07-08 20:42:01

标签: jquery dom find element traversal

像允许从元素本身遍历其祖先的.closest()一样,我正在寻找一种从元素本身向下穿过其后代的方法(与.find()不同,它只穿过它的后代。后代,不包括元素本身)。 我看了the list of traversing methods,找不到我要找的东西。

jQuery中是否有类似.closest()的方法但是要遍历?

2 个答案:

答案 0 :(得分:7)

只需使用addBack(selector)方法:

$(this).find('.myclass').addBack('.myclass').first();
如果匹配选择器

addBack('.myclass')将添加元素

答案 1 :(得分:4)

这是一个可以找到最接近的插件(包括其自身):

$.fn.findClosest = function(selector) {
    return this.is(selector) ? this.filter(selector).first() : this.find(selector).first();
};

你这样称呼它:

$('#level-2').findClosest('.foo');

小提琴:http://jsfiddle.net/W3WCQ/12/