← 返回首页
jQuery基础教程(十)
发表时间:2021-01-17 10:08:38
attr/prop

jQuery中,attr()与prop()都可以用来修改节点的属性,但是具体使用细节上还是有区别的。

attr()与prop()区别见下表:

情形 推荐使用方法 举例
对于节点本身就固有存在的属性 prop() 例如a标签的href
对于节点用户自定义的属性 attr() 例如a标签的action(a标签本身不存在action属性)
对属性值属于boolean类型 prop() 例如:selected,checked,disabled

实例:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>jQuery基础教程之效果-attr与prop的区别</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div style="text-align: center">
    <a href="https://www.tmall.com" action="goshopping" id="url">天猫网</a><br>
    <input type="checkbox" checked id="rememberme">记住我
</div>
<hr>
<div style="text-align: center">
    <input type="button" value="修改链接地址使用attr" id="btn1"><input type="button" value="修改链接地址使用prop" id="btn2"><br>
    <input type="button" value="修改action使用attr" id="btn3"><input type="button" value="修改action使用prop" id="btn4"><br>
    <input type="button" value="是否记住我使用attr" id="btn5"><input type="button" value="是否记住我使用prop" id="btn6"><br>
</div>
<script>
    $(function(){
        $("#btn1").click(function(){
            $("#url").text('京东网');
            $("#url").attr("href","https://www.jd.com");
        })
        $("#btn2").click(function(){
            $("#url").text('京东网');
            $("#url").prop("href","https://www.jd.com");
        })
        $("#btn3").click(function(){
            $("#url").attr("action","剁手节快乐!");
            alert($("#url").attr('action'));
        })
        $("#btn4").click(function(){
            $("#url").prop("action","剁手节快乐!");
            alert($("#url").attr('action'));
        })
        $("#btn5").click(function(){
            alert($("#rememberme").attr('checked'));
        })
        $("#btn6").click(function(){
            alert($("#rememberme").prop('checked'));
        })

    })
</script>
</body>
</html>