美文网首页前端
jQuery属性设置

jQuery属性设置

作者: 马佳乐 | 来源:发表于2022-03-16 07:57 被阅读0次

    获取属性

    attr(属性名);
    自带属性和自定义属性都可获取。如果没有该属性,则返回undefined

    设置属性

    attr(属性名,属性值);
    可修改自带属性和自定义属性。如果没有该属性,则添加
    可修改单属性或多属性。

    设置多属性

    attr({
        属性名1:属性值1,
        属性名2:属性值2,
        ...
    });
    

    移除属性

    removeAttr(属性名);
    可移除自带属性和自定义属性。如果没有该属性,也不会报错
    可移除单属性或多属性。

    移除多属性

    removeAttr("属性1 属性2 ...");

    相册放大练习:


    <!DOCTYPE html>
    <html>
    
        <head lang="en">
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                body {
                    font-family: "Helvetica", "Arial", serif;
                    color: #333;
                    background-color: #ccc;
                    margin: 1em 10%;
                }
                
                h1 {
                    color: #333;
                    background-color: transparent;
                }
                
                a {
                    color: #c60;
                    background-color: transparent;
                    font-weight: bold;
                    text-decoration: none;
                }
                
                ul {
                    padding: 0;
                }
                
                li {
                    float: left;
                    padding: 1em;
                    list-style: none;
                }
                
                #imagegallery {
                    list-style: none;
                }
                
                #imagegallery li {
                    margin: 0px 20px 20px 0px;
                    padding: 0px;
                    display: inline;
                }
                
                #imagegallery li a img {
                    border: 0;
                }
            </style>
    
        </head>
    
        <body>
            <h2>
      画廊相册展示
    </h2>
    
            <ul id="imagegallery">
                <li>
                    <a href="images/1.jpg" title="图片A">
                        <img src="images/1-small.jpg" width="100" alt="图片1" />
                    </a>
                </li>
                <li>
                    <a href="images/2.jpg" title="图片B">
                        <img src="images/2-small.jpg" width="100" alt="图片2" />
                    </a>
                </li>
                <li>
                    <a href="images/3.jpg" title="图片C">
                        <img src="images/3-small.jpg" width="100" alt="图片3" />
                    </a>
                </li>
                <li>
                    <a href="images/4.jpg" title="图片D">
                        <img src="images/4-small.jpg" width="100" alt="图片4" />
                    </a>
                </li>
            </ul>
    
            <div style="clear:both"></div>
    
            <img id="image" src="images/placeholder.png" alt="" width="450px" />
    
            <p id="des">请选择一个图片</p>
    
        </body>
    
    </html>
    <script src="js/jquery.js"></script>
    <script>
        $(function() {
            //1. 给所有的a注册点击事件
            $("#imagegallery a").click(function() {
                //获取当前点击的a标签的href属性的值
                var $href = $(this).attr("href");
                //给img标签的src属性赋值(href属性值)
                $("#image").attr("src", $href);
                //获取当前点击的a标签的title属性的值
                var $title = $(this).attr("title");
                //给p标签的src属性赋值(title属性值)
                $("#des").text($title);
                //组织a标签的跳转
                return false;
            });
        });
    </script>
    

    在jQuery1.6之后,对于checked、selected、disabled这类boolean类型的属性来说,不能用attr方法(结果只会返回undefined),只能用prop方法(返回true或false)。
    用法:
    prop(属性名[,属性值]);
    获取或设置属性值

    代码:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            <input type="button" value="按钮" id="btn1" />
            <br />
            <input type="checkbox" id="ckb1" />
        </body>
    </html>
    <script type="text/javascript" src="js/jquery.js" ></script>
    <script>
        $(function(){
            $("#btn1").click(function(){
                //console.log($("#ckb1").attr("checked"));//undefined
                console.log($("#ckb1").prop("checked"));//true或false
            });
        });
    </script>
    

    全选全不选按钮练习

    <!DOCTYPE html>
    
    <html>
    
        <head lang="en">
            <meta charset="UTF-8">
            <title></title>
            <style>
                * {
                    padding: 0;
                    margin: 0;
                }
                
                .wrap {
                    width: 300px;
                    margin: 100px auto 0;
                }
                
                table {
                    border-collapse: collapse;
                    border-spacing: 0;
                    border: 1px solid #c0c0c0;
                    width: 300px;
                }
                
                th,
                td {
                    border: 1px solid #d0d0d0;
                    color: #404060;
                    padding: 10px;
                }
                
                th {
                    background-color: #09c;
                    font: bold 16px "微软雅黑";
                    color: #fff;
                }
                
                td {
                    font: 14px "微软雅黑";
                }
                
                tbody tr {
                    background-color: #f0f0f0;
                    text-align: center;
                }
                
                tbody tr:hover {
                    cursor: pointer;
                    background-color: #fafafa;
                }
            </style>
        </head>
    
        <body>
            <div class="wrap">
                <table>
                    <thead>
                        <tr>
                            <th>
                                <input type="checkbox" id="j_cbAll" />
                            </th>
                            <th>菜名</th>
                            <th>饭店</th>
                        </tr>
                    </thead>
                    <tbody id="j_tb">
                        <tr>
                            <td>
                                <input type="checkbox" />
                            </td>
                            <td>红烧肉</td>
                            <td>田老师</td>
                        </tr>
                        <tr>
                            <td>
                                <input type="checkbox" />
                            </td>
                            <td>西红柿鸡蛋</td>
                            <td>田老师</td>
                        </tr>
                        <tr>
                            <td>
                                <input type="checkbox" />
                            </td>
                            <td>红烧狮子头</td>
                            <td>田老师</td>
                        </tr>
                        <tr>
                            <td>
                                <input type="checkbox" />
                            </td>
                            <td>日式肥牛</td>
                            <td>田老师</td>
                        </tr>
    
                    </tbody>
                </table>
            </div>
    
            <script src="js/jquery.js"></script>
            <script>
                $(function() {
                    //设置第一行单选按钮带动下面按钮的全选和全不选
                    $("#j_cbAll").click(function() {
                        //修改下面的checkbox的checked属性值跟随id为j_cbAll的checkbox
                        $("#j_tb input").prop("checked", $(this).prop("checked"));
                    });
                    //设置下面按钮带动第一行单选按钮的全选和全不选
                    $("#j_tb input").click(function() {
                        //与下面方法等价
                        //if($("#j_tb input:checked").length == $("#j_tb input").length) {
                        //   $("#j_cbAll").prop("checked", true)
                        //} else {
                        //      $("#j_cbAll").prop("checked", false)
                        //}
    
                        $("#j_cbAll").prop("checked", $("#j_tb input:checked").length == $("#j_tb input").length)
    
                    });
    
                });
            </script>
    
        </body>
    
    </html>
    

    相关文章

      网友评论

        本文标题:jQuery属性设置

        本文链接:https://www.haomeiwen.com/subject/ybwrdrtx.html