就像.closest()
它允许从元素本身向上遍历其祖先一样,我正在寻找一种从元素本身向下遍历其后代的方法(与.find()
仅遍历后代的方法不同,不包括元素本身)。我查看了遍历方法列表,但找不到我要找的东西。
jQuery中是否有一种类似于.closest()
但用于向下遍历的方法?
只需使用addBack(selector)方法:
$(this).find('.myclass').addBack('.myclass').first();
addBack('.myclass')
只有匹配选择器时才会添加元素本身
这是一个可以找到最接近的插件(包括它自己):
$.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/