雖然黑客攻擊我的空閒時間項目,但我偶然發現了令人費解的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),看看它指向一個以上的元素 –