0
通過this question我發現here在擴展DOM對象方面存在缺陷。 可以做類似以下的事情嗎?jQuery對象是否是實際的DOM對象?向他們添加屬性是否正確?
var tr = $('<tr>');
tr.myCustomProperty = 'Some string value';
我知道有jQuery的一個.data()
方法,但上面似乎更容易使用。我也懷疑我的tr
變量是否持有一個實際的DOM元素或任何其他類型的對象。
不,他們是jQuery對象。當您重新選擇tr或使用生成新的jquery對象的方法時,屬性會丟失。 –
不,實質上$('
回答
的jQuery處理DOM中稱爲jQuery object特殊對象數組。你可以把它看作是擴展了所有jQuery方法的DOM元素的數組。
您可以訪問DOM元素在你的例子是這樣的:
但所有的理由不存儲方式仍然適用的數據。
正如@Kevin B所提到的,做你正在做的事情(擴展jQuery對象)是不好的,因爲你在每次重新初始化時都會失去自定義屬性。
來源
2013-11-15 18:18:44 mechanicalfish
Kevin不正確。您可以通過以下操作存儲在TR在大多數瀏覽器的東西:
來源
2013-11-15 18:17:02
凱文的陳述是正確的。 Diego將該屬性添加到jQuery對象。那就是 - 正如凱文寫的 - 一個壞主意。 –
你的解決方法雖然是正確的。 –
相關問題