您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月22日 09:19

原创 jQuery.removeProp() 函数详解

4081 次浏览 读完需要≈ 6 分钟

内容目录

removeProp()函数用于移除在当前jQuery对象所匹配的每一个元素上指定的属性

该函数属于jQuery对象(实例)。如果你需要设置或获取元素上的某些属性,你可以使用prop()函数。

语法

jQuery 1.6 新增该函数。removeProp()函数的语法如下:

jQueryObject.removeProp( propertyName )

注意removeProp()会移除当前jQuery对象所匹配的每一个元素上指定名称的属性。

参数

参数 描述
propertyName String类型指定的属性名称。

返回值

removeProp()函数的返回值是jQuery类型,返回当前jQuery对象本身。

window对象或DOM元素的一些内置属性是不允许删除的,如果试图删除这些属性,将会导致浏览器产生一个错误。jQuery首先会将该属性的值赋为undefined,并忽略掉浏览器生成的任何错误信息。

一般情况下,你最好使用该函数来删除一些自定义的属性,而不是内置属性。

请不要使用本函数来删除DOM元素的本地属性checkedselecteddisabled。这将彻底删除对应的属性,并且,一旦删除之后,你无法再向该DOM元素重新添加对应的属性。请使用prop()函数将其设为false即可,例如:jQueryObject.prop("checked", false)

示例&说明

以下面这段HTML代码为例:

<div id="n1">
   	<p id="n2" class="demo test" data-key="UUID" data_value="1235456465">CodePlayer</p>
</div>

我们编写如下jQuery代码:

var $n2 = $("#n2");
$n2.prop("prop_a", "CodePlayer");
$n2.prop( "prop_b", { name: "CodePlayer", age: 20 } );
document.writeln( $n2.prop("prop_a") ); // CodePlayer
document.writeln( $n2.prop("prop_b") ); // [object Object]

// 删除n2Element对象上的属性prop_a和prop_b
$n2.removeProp("prop_a");
$n2.removeProp("prop_b");
document.writeln( $n2.prop("prop_a") ); // undefined
document.writeln( $n2.prop("prop_b") ); // undefined

// removeProp()只是删除元素(Element对象)自身的data-key属性
// 由于其自身并没有data-key属性,因此不会删除任何属性
// 也不会对上面id为n2的元素节点(HTML文档)的data-key属性造成影响
$n2.removeProp("data-key");
document.writeln( $n2.prop("data-key") ); // undefined
// 通过attr()访问元素文档节点中的属性
document.writeln( $n2.attr("data-key") ); // UUID

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单