• JQuery官方学习资料(译):遍历


        一旦你通过JQuery创建了选择器,你就可以对此进行更为深入的遍历。遍历可以分为三个基本组成部分,父节点、子节点和兄弟节点。JQuery为这些部分提供了许多丰富易用的方法。
    <div class="grandparent">
    <div class="parent">
    <div class="child">
    <span class="subchild"></span>
    </div>
    </div>
    <div class="surrogateParent1"></div>
    <div class="surrogateParent2"></div>
    </div>
    • 父节点
        通过选择器来寻找父节点的方法有.parent()、.parents()、.parentsUntil()和 .closest()。
     
    // 选择一个元素的父节点
    // 返回 [ div.child ]
    $( "span.subchild" ).parent();
    // 选择匹配选择器元素的所有父节点
    // 返回 [ div.parent ]
    $( "span.subchild" ).parents( "div.parent" );
    // 返回 [ div.child, div.parent, div.grandparent ]
    $( "span.subchild" ).parents();
    // 选择元素所有父节点,但是不包含指定选择器的元素
    // 返回 [ div.child, div.parent ]
    $( "span.subchild" ).parentsUntil( "div.grandparent" );
    // 选择最近的父节点,需要注意的是仅仅会有一个父节点被选择,搜索的内容还包含了选择器本身
    // 返回 [ div.child ]
    $( "span.subchild" ).closest( "div" );
    // 返回 [ div.child ] 选择器本身也包含在内
    $( "div.child" ).closest( "div" );
    • 子节点
        通过选择器来寻找子节点的方法有.children()和.find()。两者的区别在于,.children()方法只能寻找直接子节点,而.find()方法可以遍历所有的子节点,包括子节点的子节点。
    // 选择一个元素的直接子节点。
    // 返回 [ div.parent, div.surrogateParent1, div.surrogateParent2 ]
    $( "div.grandparent" ).children( "div" );
    // 寻找所有匹配选择器的元素
    // 返回 [ div.child, div.parent, div.surrogateParent1, div.surrogateParent2 ]
    $( "div.grandparent" ).find( "div" );
    • 兄弟节点
        JQuery提供了一些基本的通过选择器来寻找兄弟节点的方法,你可以使用.prev()方法寻找前一个节点,可以使用.next()方法寻找后一个节点,可以使用.siblings()方法寻找两边的节点。另外还有.nextAll()、.nextUntil()、.prevAll()和.prevUntil()等方法。
    // 选择下一个兄弟节点
    // 返回 [ div.surrogateParent1 ]
    $( "div.parent" ).next();
    // 选择前一个兄弟节点
    // 返回 [] 这里div.parent不存在前一个兄弟节点
    $( "div.parent" ).prev();
    // 选择所有后面的兄弟节点
    // 返回 [ div.surrogateParent1, div.surrogateParent2 ]
    $( "div.parent" ).nextAll();
    // 返回 [ div.surrogateParent1 ]
    $( "div.parent" ).nextAll().first();
    // 返回 [ div.surrogateParent2 ]
    $( "div.parent" ).nextAll().last();
    // 选择所有前面的兄弟节点
    // 返回 [ div.surrogateParent1, div.parent ]
    $( "div.surrogateParent2" ).prevAll();
    // 返回 [ div.surrogateParent1 ]
    $( "div.surrogateParent2" ).prevAll().first();
    // 返回 [ div.parent ]
    $( "div.surrogateParent2" ).prevAll().last();
        使用.siblings()方法可以选择所有的兄弟节点。
    // 选择所有的兄弟节点
    // 返回 [ div.surrogateParent1, div.surrogateParent2 ]
    $( "div.parent" ).siblings();
    // 返回 [ div.parent, div.surrogateParent2 ]
    $( "div.surrogateParent1" ).siblings();
        
        小范围少次数的遍历是比较合适的,应该尽量避免遍历跨越大片的文档或者从一个容器到另一个容器。
  • 相关阅读:
    《将博客搬至CSDN》
    日志分析利器Splunk的搭建、使用、破解
    htop的安装和使用!
    centos下升级php5.3到php5.6
    TriAquae3.0部署安装
    Linux编译安装python2.7.5的步骤
    Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(1)
    日志分析利器Splunk的搭建、使用、破解
    AIX上如何启动和停止系统服务
    Splunk日志服务器安装
  • 原文地址:https://www.cnblogs.com/liusuqi/p/3300296.html
Copyright © 2020-2023  润新知