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。
幫助明白!