jquery中attr和prop的区别分析

 我来答
育知同创教育
2017-11-10 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

二者都可以获取dom的属性,但是参数不同:

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

  • .attr( attributeName, value )

  • .attr( attributes )

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

  • .attr( attributeName )

  • .attr( attributeName, value )

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

  • .prop( propertyName, value )

  • .prop( properties )

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

  • .prop( propertyName )

  • .prop( propertyName, value )

attr传入的是attributeName,而prop传入的是propertyName,现在我们的问题转移了,我们需要研究的是attributeName和propertyName之间的区别了。

Attributes vs. Properties

在这里,可以将attribute理解为“特性”,property理解为为“属性”从而来区分俩者的差异。 如果把DOM元素看成是一个普通的Object对象,这个对象在其定义时就具有一些属性(property),比如把select的option当做一个对象:

var option = { selected:false, disabled:false, attributes:, ...}

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式