jQuery基础:prop()与attr()的区别

Posted 花雨伞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery基础:prop()与attr()的区别相关的知识,希望对你有一定的参考价值。

1、结论:

  • 处理html本身的属性,使用prop()
  • 处理HTML自定义属性,使用attr()

2、对待属性值为true 或者false类的元素:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <input type="checkbox" id="text" checked="true" />
</body>
<script src="libs/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
    $(function(){
        var btn = $("#text");
        var str = btn.attr("checked");
        var str2 = btn.prop("checked");
        console.log(str2); // true
        console.log(str);  //checked
    });
</script>
</html>

如上图所示、返回值不一样!

3、获取自定义属性?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div id="box" name="bb">div</div>
</body>
<script src="libs/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
    $(function(){
        var btn = $("#box");
        var str1 = btn.attr("name");
        var str2 = btn.prop("name");
        console.log(str1); //bb
        console.log(str2); //undefined

        // 使用attr可以获取自定义属性
        // 使用prop无法获取自定义属性
    });
</script>
</html>

 

以上是关于jQuery基础:prop()与attr()的区别的主要内容,如果未能解决你的问题,请参考以下文章

JQuery中Attr与Prop的区别

Jquery中attr()与prop()的区别

jquery中attr()与prop()区别

jQuery学习笔记:attr()与prop()的区别

jQuery中attr和prop方法的区别

jQuery attr()与prop()的区别