jquery找到最接近的元素

时间:2013-08-05 20:51:58

标签: jquery closest

是否有一个jQuery函数结合了向上看的closest()parents() 向下看的children()函数?

例如:

<span id="container">
    <div class="a 1"></div>
    <div class="b 2"></div>
    <div class="c 3">
        <div class="d 4"></div>
        <div class="b 5"></div>
    </div>
<span>

$(".c").something(".b");应返回“最近的”.b元素,或.2

1 个答案:

答案 0 :(得分:1)

我为此做了一些closestDesc插件。

(function( $ ) {

  $.fn.closestDesc = function(selector) {

    var selection = [];

    var query = function () {
      this.children().each(function() {
        if ($(this).is(selector)) {
          selection.push(this);
        }
        else {
          query.call(this);
        }
      });
    };
    query.call(this);

    return this.pushStack(selection, "closestDesc", selector);
  };

})(jQuery);

这会捕获与选择器匹配的所有最近的后代

小提琴:http://jsfiddle.net/uGR2a/9/