2016-02-19 63 views
0

previous question後,我寫了一個jQuery插件(我的第一個!)作爲查找匹配選擇器的任何元素的「最接近」元素的快捷方式(在我的例子中,任何標題<h1> - <h6>) - 'nearest'意味着上面的DOM,進一步向上的頁面。

讀了article in the jQuery learning centre,以及一些相關的StackOverflow職位,我走了這麼遠:

(function ($) { 
    $.fn.nearestAbove = function (selector) { 
     var $new = $(); 
     this.each(function() { 
      var $header = $(this).parentsUntil("*:has(" + selector + ")").prevUntil(selector).andSelf().first().prev(); 
      $new.add($header); 
     }); 
     return $new; 
    }; 
}(jQuery)); 

我明白.add()可用於添加的jQuery集合在一起 - 所以我不知道爲什麼上面的插件不起作用 - 它只返回一個空的jQuery對象。 我在做什麼錯?

這是plunker

幫助明白!

回答

0

我想出了我的錯誤。

$new = $new.add($header);