在previous question之后,我正在编写一个jQuery插件(我的第一个!)作为查找任何元素的最快捷方式&#39; s&#39; s与选择器匹配的元素(在我的情况下,任何标题<h1>
- <h6>
) - &#39;最近的&#39;意思是上面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 :(得分:0)
我弄清楚了我的错误。
$new = $new.add($header);