xml地图|网站地图|网站标签 [设为首页] [加入收藏]

jQeury入门:遍历

时间:2020-01-04 21:41来源:计算机
jQeury入门:遍历 一旦用jQuery创建一个初始的包装集,你就能深度遍历刚刚选择的包装集。遍历可以被分为三个基础元件:父级,子级,同级。jQuery为所有这些元件提供丰富易用的方法。

jQeury入门:遍历

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

父级

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

 

奥门金沙手机娱乐网址, 

 

// 选择一个元素的直系父级元素: // 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去查看这些和更多方法的全部文档。

在文档中遍历很长距离的时候要当心——复杂的遍历必须使文档结构保持不变,这很难保证即使你是创建整个从服务器到客户端应用程序的人。一步或者两步的遍历会很不错,但最好还是避免从一个容器到另一个容器的遍历。

 

一旦用jQuery创建一个初始的包装集,你就能深度遍历刚刚选择的包装集。遍历可以被分为三个基础元件:父级,子级,同级...

编辑:计算机 本文来源:jQeury入门:遍历

关键词: