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