我正在创建一个jQuery扩展方法,该方法应该接受jQuery选择,遍历每个项目并返回一个新的jQuery对象(可能)不同(但相关)的项目 - 这就是我现在所拥有的
$.fn.associated = function (selector: string): JQuery
{
return this.map(function(j, x)
{
var $x = $(x);
if ($x.is(selector)) { return $x; }
var children = $x.find(selector);
if (children.isNotEmpty()) { return children; }
return $x.closest(selector);
});
}
当它返回时,它肯定是一个jQuery对象(我检查它是否是jQuery的实例)。但是,当我对它执行.attr时,我得到一个例外,说“a.getAttribute不是函数” - 任何想法?