• 前端(jQuery)(8)-- jQuery元素遍历


    1、向下遍历

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <script src="jquery-3.3.1.min.js"></script>
        <style>
            #div1{
                width:500px;
                height:200px;
                border:3px solid chocolate;
            }
            #div2{
                width:400px;
                height:150px;
                margin-top:10px;
                margin-left:10px;
                border:3px solid chocolate;
            }
            p{
                margin-left:10px;
                margin-top:10px;
                width:150px;
                height:80px;
                border:3px solid chocolate;
            }
        </style>
        <script>
            /*
            * children
            * find
            * */
            $(document).ready(function(){
               // $("#div1").children().css({border:"3px solid red"});
               // $("#div1").children("#div2").css({border:"3px solid red"});/*这两句效果是一样的*/
                /*children获取节点只能获取自己的儿子,而不能获取自己孙子节点的信息*/
                $("#div1").find("#p").css({border:"3px solid red"});
                /*find可以查找到自己的后代元素,所有的后代都可以在查找范围内
                * find方法需要带一个参数*/
            });
        </script>
    </head>
    <body>
    <div id="div1">div1
        <div id="div2">div2
            <p id="p">p
                <a href="http://www.baidu.com">
                hello
                </a>
            </p>
        </div>
    </div>
    </body>
    </html>

    2、向上遍历

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <script src="jquery-3.3.1.min.js"></script>
        <style>
            #div1{
                width:500px;
                height:200px;
                border:3px solid chocolate;
            }
            #div2{
                width:400px;
                height:150px;
                margin-top:10px;
                margin-left:10px;
                border:3px solid chocolate;
            }
            p{
                margin-left:10px;
                margin-top:10px;
                width:150px;
                height:80px;
                border:3px solid chocolate;
            }
        </style>
        <script>
            /*
            * parent()
            * parents()
            * parentsUntil()
            * */
            $(document).ready(function(){
               // $("a").parent().css({border:"3px solid red"});/*向上的一级父元素变成这个样式*/
               // $("a").parents().css({border:"3px solid red"});/*向上的所有父元素都要变成这个样式*/
               $("a").parents("#div1").css({border:"3px solid red"});/*向上的某一个父元素要变成这个样式*/
               // $("a").parentsUntil("#div1").css({border:"3px solid red"});/*向上的所有父元素直到div1之前的都要变为这个样式(a和div1之间的元素)*/
            });
        </script>
    </head>
    <body>
    <div id="div1">div1
        <div id="div2">div2
            <p id="p">p
                <a href="http://www.baidu.com">
                hello
                </a>
            </p>
        </div>
    </div>
    </body>
    </html>

    3、同级遍历

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="jquery-3.3.1.min.js"></script>
        <script>
            /*  siblings()
                next()
                nextAll()
                nextUntil() //until是区间的意思
                prev() //下面三个是向前算的方法
                prevAll()
                prevUntil()
            */
            $(document).ready(function(){
               // $("h4").siblings().css({border:"3px solid red"});/*修改掉除了给定元素的所有同级元素为给定的样式*/
               // $("h4").next().css({border:"3px solid red"});/*修改掉除了给定元素的所有同级元素为给定的样式*/
               // $("h2").nextAll("h6").css({border:"3px solid red"});/*包括h2在内的下面所有同级元素*//*这里加参数是下面所有的某一类元素,不加参数就是默认所有的同级元素*/
               $("h2").nextUntil("h4").css({border:"3px solid red"});/*h2到给定的元素之间的所有元素*/
            });
        </script>
        <style>
            .classa *{
                display:block;
                border:3px solid gray;
                color:gray;
                padding:5px;
                margin:15px;
            }
        </style>
    </head>
    <body>
    <div class="classa">
        <p>p</p>
        <h2>h2</h2>
        <h3>h3</h3>
        <h4>h4</h4>
        <h5>h5</h5>
        <h6>h6</h6>
    </div>
    </body>
    </html>

    4、过滤

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="jquery-3.3.1.min.js"></script>
        <script>
            /*
            * first()//寻找同样元素的第一个
            * last()//寻找同样元素的最后一个
            * eq()
            * filter()
            * not()
            * */
            $(document).ready(function(){
                // $("div p").first().css({backgroundColor:"red"});
                /*jQuery中的backgroundColor和css中的background-color还不一样呢。。。666*/
                // $("div p").first().css("background-color","red");
                /*jQuery中的backgroundColor和css中的background-color还不一样呢。。。666*/
                // $("div p").eq(1).css("background-color","red");
                /*eq()方法指定第几个元素,索引从0开始*/
                // $("div p").filter(".plei1").css("background-color","red");/*选中满足要求的*/
                $("div p").not(".plei1").css("background-color","red");/*过滤给定要求的*/
            });
        </script>
        <style>
    
        </style>
    </head>
    <body>
        <div>
            <p class="plei1">div1的p</p>
        </div>
        <div>
            <p>div2的p</p>
        </div>
        <div>
            <p class="plei1">div3的p</p>
        </div>
        <div>
            <p>div3的p</p>
        </div>
    </body>
    </html>
  • 相关阅读:
    Java为何大行其道
    Centos安装成功mysql-5.5.37
    ADO.NET与Oracle(一):获取多行记录集
    【spring data jpa】【mybatis】通过反射实现 更新/保存 实体的任意字段的操作
    【spring data jpa】spring data jpa的in查询
    【mybatis】mybatis中的<if test=“”>test中多条件
    【mybatis】in查询+判断list查询条件是否进行in查询
    【spring boot】【log4jdbc】使用log4jdbc打印mybatis的sql和Jpa的sql语句运行情况
    【mybatis】mybatis中 的# 和 $的区别
    【mybatis】时间范围 处理时间格式问题 + 查询当天 本月 本年 + 按当天 当月 范围 查询 分组
  • 原文地址:https://www.cnblogs.com/foreverlin/p/10122873.html
Copyright © 2020-2023  润新知