jquery attr()和prop()的区别

1.attr() :获取匹配的元素集合中的第一个元素的属性的值 或 设置每一个匹配元素的一个或多个属性。

 •.attr( attributeName ) •.attr( attributeName )

•.attr( attributeName, value ) •.attr( attributeName, value )

•.attr( attributes )

•.attr( attributeName, function(index, attr) )

2.prop() :获取匹配的元素集中第一个元素的属性(property)值或设置每一个匹配元素的一个或多个属性。 •.prop( propertyName ) •.prop( propertyName )

•.prop( propertyName, value ) •.prop( propertyName, value )

•.prop( properties )

•.prop( propertyName, function(index, oldPropertyValue) )

两者的区别就在于 attributeName 和propertyName :

•对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。

例如:“checked”,“selected”,"href"等等。。。

•对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。

如果把DOM元素看成是一个普通的Object对象,这个对象在其定义时就具有一些属性(property),比如把select的option当做一个对象:


attribute是一个特性节点,每个DOM元素都有一个对应的attributes属性来存放所有的attribute节点,它是一个类数组的容器。attributes的每个数字索引以名值对(name=”value”)的形式存放了一个attribute节点。而property就是一个属性,是一个以名值对(name=”value”)的形式存放在Object中的属性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,467评论 0 44
  • jQuery基础(一)——样式篇 1-2环境搭建 1-3 jQuery HelloWorld体验 $(docume...
    croyance0601阅读 1,109评论 0 8
  • jQuery的属性与样式之.attr()与.removeAttr() 每个元素都有一个或者多个特性,这些特性的用途...
    阿r阿r阅读 673评论 0 6
  • 先提出问题:对于 checked 这类值是 true/false 的属性,用 jQuery 的 attr 或 pr...
    猩崽大叔阅读 379评论 0 1
  • 爱自己,爱别人,都是一种觉醒。——题记 甜是大家共同喜欢的,孩子爱吃糖,生日吃蛋糕,情人节送巧克力。“honey”...
    在水一方2008阅读 543评论 0 0