jQuery之attr()和prop()的区别

刺骨的言语ヽ痛彻心扉 2022-09-08 00:07 182阅读 0赞

文章目录

  • 前言
    • 如何使用两种方法
      1. attr()用法
      1. prop()用法

前言

attr()与prop() 都具有设置和获取属性值的功能,但还是有所不同,下面就来解释一下吧


如何使用两种方法

  1. 对于checked ,readOnly,selected,disabled等属性的操作 用prop()方法
  2. 其他属性操作都用 attr() 方法

1. attr()用法

下面是attr()的正确使用方法

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. <script type="text/javascript" src="jquery-3.5.1.js"></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. alert($(":checkbox:first").attr("value")) //获取value值
  10. $(":checkbox:first").attr("value","checkboxone") //设置value属性值
  11. alert($(":checkbox:first").attr("value")) //再次获取观察变化
  12. })
  13. </script>
  14. </head>
  15. <body>
  16. <input type="checkbox" value="checkbox1" checked="checked"/>checkbox1
  17. <input type="checkbox" value="checkbox2" />checkbox2
  18. <input type="checkbox" value="checkbox3" />checkbox3
  19. </body>
  20. </html>

运行结果
在这里插入图片描述
在这里插入图片描述

如果用attr()方法来操作checked等属性,会出现异常的显示,下面举个例子解释一下

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. <script type="text/javascript" src="jquery-3.5.1.js"></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. alert($(":checkbox").attr("checked"))
  10. alert($("#checked").attr("checked"))
  11. })
  12. </script>
  13. </head>
  14. <body>
  15. <input type="checkbox" value="checkbox1" checked="checked"/>checkbox1
  16. <input type="checkbox" value="checkbox2" id="checked" />checkbox2
  17. <input type="checkbox" value="checkbox3" />checkbox3
  18. </body>
  19. </html>

第一个选中有checked属性,第二个没有选中
运行结果
显示的是属性的内容
可以看出不易判断是否选中状态
在这里插入图片描述
在这里插入图片描述

2. prop()用法

同样的代码只是换一下方法

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. <script type="text/javascript" src="jquery-3.5.1.js"></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. alert($(":checkbox").prop("checked"))
  10. alert($("#checked").prop("checked"))
  11. })
  12. </script>
  13. </head>
  14. <body>
  15. <input type="checkbox" value="checkbox1" checked="checked"/>checkbox1
  16. <input type="checkbox" value="checkbox2" id="checked" />checkbox2
  17. <input type="checkbox" value="checkbox3" />checkbox3
  18. </body>
  19. </html>

运行结果
这里选中的话就显示true,没有选中就显示false,判别度高,所以是操作这类属性的推荐方法。
在这里插入图片描述
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,182人围观)

还没有评论,来说两句吧...

相关阅读

    相关 jqueryattrprop区别

    在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。 关于它们两个的区别,网上的答案很多。这里谈谈我