虽然都是属性但他们所指的属性并不相同,attr所指的属性是HTML标签属性而prop所指的是DOM对象属性,可以认为attr是显式的而prop是隐式的。
可以看到attr获取一个标签内没有的东西会得箌undefined而prop获取的是这个DOM对象的属性,因此checked为false
这已经可以证明attr的局限性,它的作用范围只限于HTML标签内的属性而prop获取的是这个DOM对象的属性,選中返回true没选中返回false。
接下来再看一下针对自定义属性attr和prop又有什么区别:
可以看到prop不支持获取标签的自定义属性。
该资源内容由用户上传如若侵權请选择举报
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗
谢谢参与!您的真实评价是我们改进的动力~
在高版本的jquery引入prop方法后什么时候该用prop?什么时候用attr它们两个之间有什么区别?这些问题就出现了
关于它们两个的区别,网上的答案很多这里谈谈我的心得,我的惢得很简单:
上面的描述也许有点模糊举几个例子就知道了。
这个例子里<a>元素的DOM属性有“href、target和class"这些属性就是<a>元素本身就带有的属性,也是W3C标准里就包含有这幾个属性或者说在IDE里能够智能提示出的属性,这些就叫做固有属性处理这些属性时,建议使用prop方法
这个例子里<a>元素的DOM属性有“href、id和action”,很明显前两个是固有属性,而后面一个“action”属性是我们自己自定义上去的<a>元素本身是没有这个属性的。这种就是自定义的DOM属性處理这些属性时,建议使用attr方法使用prop方法取值和设置属性值时,都会返回undefined值