• jQeury入门:遍历


    一旦用jQuery创建一个初始的包装集。你就能深度遍历刚刚选择的包装集。

    遍历能够被分为三个基础元件:父级。子级,同级。jQuery为全部这些元件提供丰富易用的方法。注意每个方法都能轻易的传递给字符串选择器,有一些甚至能够用另外的jQuery对象来过滤你的包装集。关注和參考API documentation on traversing来弄懂你有什么变化的參数可用。

    父级

    从包装集中寻找父级的元素中的方法包括.parent(), .parents(), .parentsUntil(), 和 .closest()

        <div class="grandparent">
            <div class="parent">
                <div class="child">
                    <span class="subchild"></span>
                </div>
            </div>
            <div class="surrogateParent1"></div>
            <div class="surrogateParent2"></div>
        </div>
    
        // 选择一个元素的直系父级的元素中:
    
        // returns [ div.child ]
        $( "span.subchild" ).parent();
    
        //  选择一个元素的全部匹配给定选择器的父级的元素中
        // returns [ div.parent ]
        $( "span.subchild" ).parents( "div.parent" );
    
        // returns [ div.child, div.parent, div.grandparent ]
        $( "span.subchild" ).parents();
    
        //选择一个元素的除了选择器中的元素以外的全部的父级的元素中:
        // returns [ div.child, div.parent ]
        $( "span.subchild" ).parentsUntil( "div.grandparent" );
    
        // 选择最靠近的父级的元素中。注意唯独一个父级的元素中被选中,而且初始元素本身也包括在被搜索的元素中:
    
        // returns [ div.child ]
        $( "span.subchild" ).closest( "div" );
    
        // 返回[ div.child ] 。由于选择器包括在被搜索的元素中:
        $( "div.child" ).closest( "div" );

    子级

    从包装集中寻找子级元素的方法包括 .children() and .find()

    这两个方法之间的差别在于距离创建的包装集的子结构有多远。.children()只操作直系的子节点,而.find()能够循环遍历子节点,这些子节点的子节点。以此类推。

        // 选择元素直系的子节点   
    
        // returns [ div.parent, div.surrogateParent1, div.surrogateParent2 ]
        $( "div.grandparent" ).children( "div" );
    
        // 在包装集中。查找全部匹配选择器的元素 
        // returns [ div.child, div.parent, div.surrogateParent1, div.surrogateParent2 ]
        $( "div.grandparent" ).find( "div" );

    同级

    在jQuery中。其余的遍历方法都是处理查找同级的包装集。一些基础的方法是就遍历的方向而言的。你能够用.prev()查找前一个元素。.next()查找后一个元素。及用.siblings()查找全部的两个元素。也有建立在这几个基础方法上的其它方法: .nextAll().nextUntil().prevAll().prevUntil()

        // 在选择器中选择下一个同级元素:
    
        // returns [ div.surrogateParent1 ]
        $( "div.parent" ).next();
    
        // 在选择器中选择前一个同级元素:
    
        // 在div.parent之前没有同级元素的存在的情况下返回[]
        $( "div.parent" ).prev();
    
        // 在选择器中选择全部下一个同级元素:
    
        // returns [ div.surrogateParent1, div.surrogateParent2 ]
        $( "div.parent" ).nextAll();
    
        // returns [ div.surrogateParent1 ]
        $( "div.parent" ).nextAll().first();
    
        // returns [ div.surrogateParent2 ]
        $( "div.parent" ).nextAll().last();
    
        // 在选择器中选择全部上一个同级元素:     
    
        // returns [ div.surrogateParent1, div.parent ]
        $( "div.surrogateParent2" ).prevAll();
    
        // returns [ div.surrogateParent1 ]
        $( "div.surrogateParent2" ).prevAll().first();
    
        // returns [ div.parent ]
        $( "div.surrogateParent2" ).prevAll().last();

    .siblings()选择全部同级元素:

        // 在两个方向上选择一个元素的匹配给出选择器的同级元素
    
        // returns [ div.surrogateParent1, div.surrogateParent2 ]
        $( "div.parent" ).siblings();
    
        // returns [ div.parent, div.surrogateParent2 ]
        $( "div.surrogateParent1" ).siblings();

    Traversal documentation on api.jquery.com去查看这些和很多其它方法的全部文档。

    在文档中遍历非常长距离的时候要当心——复杂的遍历必须使文档结构保持不变,这非常难保证即使你是创建整个从server到client应用程序的人。

    一步或者两步的遍历会非常不错。但不妨避免从一个容器到还有一个容器的遍历。

    原文地址

  • 相关阅读:
    20145301&20145321&20145335实验三
    20145301《信息安全系统设计基础》第12周学习总结
    20145301&20145321&20145335实验五
    20145240 《信息安全系统设计基础》课程总结
    20145240《信息安全系统设计基础》第十四周学习总结
    20145240《信息安全系统设计基础》第十三周学习总结
    20145240 《信息安全系统设计基础》第六周同学问题总结
    20145240 GDB调试汇编堆栈过程分析
    20145240 《信息安全系统设计基础》实验五 网络通信
    20145240《信息安全系统设计基础》实验四 驱动程序设计
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7216491.html
Copyright © 2020-2023  润新知