虽然黑客攻击我的空闲时间项目,但我偶然发现了令人费解的jQuery行为。jQuery .closest()在自定义jQuery插件中返回多个结果
我有一个自定义验证插件编写和工作。在插件中,我想用.closest()方法实现一些功能。奇怪的是,这个方法返回多个元素。
下面是一个示例代码:
this.closest(".control-group")
$(this).closest(".control-group");
上述两个行代码选择与类“控制组”所有四个元件。这段代码放在我的插件的作品中:
var element_ID = this.attr("id");
$("#" + element_ID).closest(".control-group")
上面选择正确且只有一个元素为“control-group”类。
我不能使用这个“黑客”,因为并非所有我想要验证的元素都有“id”属性集,所以它在任何情况下都不起作用。
使用jQuery 1.7.2(似乎是最新的稳定版)。任何想法,为什么它是这样的?
尝试的console.log(this.length),看看它指向一个以上的元素 –