特性(attributes)和属性(properties)
特性(attributes)的值,字符串。
属性(properties)的值,字符串、布尔类型、数字、对象。
区别Tips
特性(attributes)
html里面常用到的id、class、title、align等等。
所以只要是在html文档里面出现的属性,都可以使用特性(attributes)操作的方法去操作。
属性(properties)
Property是这个DOM元素作为对象,其附加的内容,例如childNodes、firstChild等等。
联系
常用的Attribute,例如id、class、title等,已经被作为属性(property)附加到DOM对象上,可以和Property一样取值和赋值。
但是自定义的特性(attribute),就不会有这样的特殊优待。
实在话
HTML元素的固有属性,使用属性(property)方法。
HTML元素自定义的DOM属性,使用特性(attribute)方法。
属性也好,特性也罢,值为字符串以外的形式,使用属性(property)方法。
Javascript操作特性和属性
JS设置特性值
setAttribute( ) 设置
getAttribute( ) 获取
JS设置属性值
.特性名 = '特性值' 设置
.特性名 获取
jQuery操作特性和属性
特性(attributes)
获取特性值
attr(属性名)
注意,如果是class,需要写成className。
设置特性值
attr(属性名,属性值) 一次一个
attr({属性名:属性值,...}) 一次多个
删除特性
removeAttr(属性名) 如果多个,用空格隔开
属性(properties)
获取属性值
prop(属性名)
注意,如果是class,需要写成className。
设置属性值
prop(属性名,属性值) 一次一个
prop({属性名:属性值,...}) 一次多个
删除属性值
removeProp(属性名) 注意,一次一个!
jQuery操作数据
存取数据值
data(特性名) 读取
data(特性名,数据) 储存
补充
读取
优先访问通过data()方法设置的值。
如果没参数,会返回所有的结果。
储存
数据的类型会保存下来,如果存进去的是一个对象,返回的也是一个对象。
删除数据
removeData('特性名')
补充
加空格或者变成一个数组,可以删除多个
如果无参数,就会删除全部,只剩html里设置的特性。
这种方法不对HTML结构做出改变。
检测有无数据
jQuery.hasData(dom元素)
注意,是dom元素,不是jQuery对象!
补充
它只检测jQuery里有没有添加data,HTML里的不算数。