4

有没有结合向上看closest()parents() 向下看功能的jQuerychildren()函数?

例如:

<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

4

1 回答 1

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/

于 2013-08-05T23:51:35.007 回答