jQuery的1.4加入a shorthand way for constructing new DOM Elements和充填在它們的一些屬性:jQuery的元素構造不同於使用ATTR
jQuery(html, props)
html
:定義單個的,獨立的,HTML元素(例如或)的字符串。
props
:要調用新創建的元素的屬性,事件和方法的映射。
但是,我只注意到這個陌生(使用jQuery 1.5.1):
>>> $("<img />", { height: 4 })[0].height
0
>>> $("<img />").attr({ height: 4 })[0].height
4
所以,他們是速記和較長的方式之間存在一些差異..!這是一個錯誤還是故意的?是否還有其他類似的行爲我應該留意?
如果將元素添加到DOM中,它將起作用:'$(「」,{height:4})。appendTo('body')[0] .height'。至於*爲什麼*,我不知道。在DOM元素被添加到DOM之前,可能沒有在DOM元素上設置高度。但第二個不應該工作... – 2011-03-09 15:35:31