jQuery - 使用要点 - 跨越元素

这篇博客详细介绍了如何使用jQuery操作DOM,包括查找父元素(.parent(), .parents(), .parentsUntil(), .closest())、子元素(.children(), .find())以及相邻元素(.prev(), .next(), .siblings(), .nextAll(), .nextUntil(), .prevAll(), .prevUntil())。内容涵盖了Traversal的基本用法和区别。" 118771382,10738197,手动编译安装LAMP架构之Apache httpd服务,"['Linux', 'Apache', '服务器管理', 'Web服务', '软件安装']
摘要由CSDN通过智能技术生成

跨越元素

完整文档:Traversal Documentation

<div class="grandparent">
    <div class="parent">
        <div class="child">
            <span class="subchild"></span>
        </div>
    </div>
    <div class="surrogateParent1"></div>
    <div class="surrogateParent2"></div>
</div>

Parents

通过 .parent()   .parents()   .parentsUntil()   .closest() 来寻找选择集的父元素。

// 选择该元素的直接父元素
$( "span.subchild" ).parent(); // 返回元素为:[div.child]
 
// 选择该元素的所有父元素
// 所有父元素中同给定选择器匹配的父元素
$( "span.subchild" ).parents( "div.parent" ); // 返回值为:[div.parent]

$( "span.subchild" ).parents(); // 返回值为:[div.child, div.parent, div.grandparent]
 
// 选择该元素的所有父元素
// 取得该元素的所有父元素,直到选择器匹配的父元素为止(不包含选择器匹配的父元素)
$( "span.subchild" ).parentsUntil( "div.grandparent" ); // 返回值为:[div.child, div.parent]

// 选择最靠近该元素的父元素
// 注意:只有一个父元素会被选择,并且该元素自身也包含在搜索中
$( "span.subchild" ).closest( "div" ); // 返回值为:[div.child]
 
$( "div.child" ).closest( "div" ); // 返回值为:[div.child],方法指定的选择器也在搜索范围中

Children

通过 .children()   .find() 来寻找选择集的子元素。.children() 只返回直接子节点;.find() 递归子节点中的子节点...一并返回。

// 返回该元素的直接子元素
// 方法中可以指定需要匹配的选择器
$( "div.grandparent" ).children( "div" ); // 返回值为:[div.parent, div.surrogateParent1, div.surrogateParent2]

// 返回该元素中同方法参数指定选择器匹配的所有子元素
$( "div.grandparent" ).find( "div" ); // 返回值为:[div.child, div.parent, div.surrogateParent1, div.surrogateParent2]

Siblings

寻找相邻元素。.prev() 寻找该元素的前一个邻居;.next() 寻找该元素的后一个邻居;.siblings() 寻找该元素的所有邻居。.nextAll() .nextUntil() .prevAll() .prevUntil()

// 选择该元素的后一个邻居
$( "div.parent" ).next(); // 返回值为:[div.surrogateParent1]

// 选择该元素的前一个邻居
$( "div.parent" ).prev(); // 返回值为:[] 应该该元素没有前一个邻居

// 选择该元素的所有后一个邻居
$( "div.parent" ).nextAll(); // 返回值为:[div.surrogateParent1, div.surrogateParent2]
// 选择该元素的所有后一个邻居中的第一个元素 
$( "div.parent" ).nextAll().first(); // 返回值为:[div.surrogateParent1]
// 选择该元素的所有后一个邻居中的最后一个元素
$( "div.parent" ).nextAll().last(); // 返回值为:[div.surrogateParent2]
 
// 返回该元素的所有前一个邻居
$( "div.surrogateParent2" ).prevAll(); // 返回值为:[div.surrogateParent1, div.parent]
// 返回该元素的所有前一个邻居中的第一个元素
$( "div.surrogateParent2" ).prevAll().first(); // 返回值为:[div.surrogateParent1]
// 返回该元素的所有前一个邻居中的最后一个元素
$( "div.surrogateParent2" ).prevAll().last(); // 返回值为:[div.parent]

// 选择该元素的所有邻居
$( "div.parent" ).siblings(); // 返回值为:[div.surrogateParent1, div.surrogateParent2]
$( "div.surrogateParent1" ).siblings(); // 返回值为:[div.parent, div.surrogateParent2]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值