除了個人偏好和假設兩者都可以工作(他們在我的示例中做了這些),是否有任何理由讓人們希望通過data()
將DOM元素通過jQuery對象?通過數據將DOM元素傳遞給jQuery對象的優點
例如,使用下面兩個選項中的一個比另一個有什麼好處?
選項1
$(".action").click(function() {
$("#dialog").data('elem', this).dialog("open");
});
$("#dialog").dialog({
autoOpen: false,
open: function() {
var elem = $(this).data('elem');
var stuff = $(elem).parent().data('stuff');
}
});
選項2
$(".action").click(function() {
$("#dialog").data('elem', $(this).parent()).dialog("open");
});
$("#dialog").dialog({
autoOpen: false,
open: function() {
var elem = $(this).data('elem');
var stuff = elem.data('stuff');
}
});
'data'只是將條目存儲在每個元素的命名條目查找表中,因此您可以在其中存儲任何內容。有一點需要記住的是引用被遺忘,所以也許簡單的原始DOM元素會更好? –
@TrueBlueAussie我知道這不是什麼大不了的事情,但所有的事情都是平等的,想知道如果一個人比另一個人使用更多的內存/等等。 – user1032531
jQuery對象是DOM元素頂部的額外對象,但如果該對象隨時存在,則開銷僅僅是數據中的保留jQuery對象。很小但它是額外的。 –