The data
function confuses a lot of people, it's not just you. :-)
data
manages jQuery's internal data object for the element, not data-*
attributes. data
only uses data-*
attributes to set initial values. It never sets data-*
attributes on elements.
If you want to actually set a data-*
attribute, use attr
:
$(this).attr("data-height", h);
But if you just want this information for future use, data
is fine, just don't expect to see it in the DOM inspector, because jQuery doesn't write this information to the DOM.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…