欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > JS教程 >

jquery中attr和prop的区别

发表于2019-04-23 18:07| 次阅读| 来源网络整理| 作者session

摘要:jquery中attr和prop的区别
jquery中attr和prop的区别

  jquery中attr和prop的区别 在高版本的jquery引入prop方法后,什么时分该用prop?什么时分用attr?它们两个之间有什么区别?这些成绩就出现了。

  关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简略:

  对于HTML元素自身就带有的固有属性,在解决时,利用prop方法。 对于HTML元素咱们本人自定义的DOM属性,在解决时,利用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值。

  再举一个例子:

  <input id="chk1" type="checkbox" />能否可见 <input id="chk2" type="checkbox" checked="checked" />能否可见

  像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需求利用prop方法去操作能力获得正确的后果。

  $("#chk1").prop("checked") == false $("#chk2").prop("checked") == true

  假设上面利用attr方法,则会出现:

  $("#chk1").attr("checked") == undefined $("#chk2").attr("checked") == "checked"

  全文完。