这是我的第一个stackoverflow问题,所以尽量做好.;-D
我的问题是,我正在重构一些现有的javascript代码并使用jQuery来完成它.在几个地方,我遇到类似于以下的javascript代码:
// some js code working with the customAttribute value javascriptElementObject.customAttribue = void(0);
javascriptElementObject现在是一个jQuery对象,我一直在尝试使用以下代码执行相同的操作:
// some js code working with the customAttribute value javascriptElementObject.attr("customAttribute", void(0));
但是,这似乎没有做任何事情.但是,以下代码有效:
javascriptElementObject.get(0).customAttribute = void(0);
我知道jQuery的removeAttr()函数,但到目前为止还没有使用它,因为我不知道它是否等同于将属性值设置为void(0).
所以我想这真的意味着我有两个问题:
为什么第一个jQuery版本不起作用?
是.get(0).customAttribue = void(0); 和.removeAttr("customAttribute";等效?
谢谢.
jQuery喜欢重载它的方法,所以:
obj.attr( name ) //retrieves the attribute value obj.attr( name, value ) //sets the attribute obj.attr( name, void(0) ) == obj.attr( name, null ) == obj.attr( name ) //i.e retrieving the attribute
如果要设置空属性,可能需要尝试以下操作
obj.attr( name, '' )
这也适用于其他方法jQuery.html()
,例如