jQ中attr与prop的区别

举报
青年码农 发表于 2022/08/24 23:37:49 2022/08/24
【摘要】 先说一说官方定义 .attr() 获取匹配的元素集合中的第一个元素的属性值,设置每个匹配元素的一个或多个属性 .prop() 获取匹配的元素集中第一个元素的属性(property)值为匹配的元素设置一个或多个属性(properties) 什么时候用prop?什么时候该用attr?它们两个之间有什么区别? 我们举两个例子...

先说一说官方定义

.attr()

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

.prop()

获取匹配的元素集中第一个元素的属性(property)值为匹配的元素设置一个或多个属性(properties

什么时候用prop?什么时候该用attr?它们两个之间有什么区别?

我们举两个例子。

<a href="#" target="_self" class="btn">百度</a>

 这个例子里<a>元素的DOM属性有“href、target和class",这些属性就是<a>元素本身就带有的属性,也是W3C标准里就包含有这几个属性,或者说在IDE里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用prop方法。

<a href="#" id="link1" action="delete">删除</a>

这个例子里<a>元素的DOM属性有“href、id和action”,很明显,前两个是固有属性,而后面一个“action”属性是我们自己自定义上去的,<a>元素本身是没有这个属性的。这种就是自定义的DOM属性。处理这些属性时,建议使用attr方法。使用prop方法取值和设置属性值时,都会返回undefined值。

总结下使用情况

对于html元素本身就带有的固有属性值,在处理时。用prop()

对于html元素我们自己自定义的DOM属性,在处理时,使用attr()

具有true和false两个属性的属性,如checked、selected或者disable使用prop()

文章来源: blog.csdn.net,作者:NMGWAP,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/NMGWAP/article/details/125067153

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。