jQuery 遍历_树遍历3|学习笔记

开发者学堂课程【jQuery 开发教程:jQuery 遍历_树遍历3】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/362/detail/4305


jQuery 遍历_树遍历3


目录

一、 具体方法

二、 演示

 

一、 具体方法

1、.parent():

取得匹配元素集合中,每个元素的父元素,可以提供一个可选的选择器。与 children 方法是类似的,区别是一个选择子元素,一个选择父元素。同样,它们的方法以及参数也是相似的。

2、.parents():

获得集合中每个匹配元素的祖先元素,可以提供一个可选的选择器作为参数。.parent()方法只能返回一级父元素,.parents()方法可以返回所有的祖先元素。

3、.offsetParent():

取得离指定元素最近的含有定位信息的祖先元素。含有定位信息的元素指的是,CSS 的 position 属性是 relative, absolute, 或 fixed 的元素。这个方法的用处是对于计算元素的位置非常方便,计算位置可以帮助实现动画,或者是将元素放在特定的位置。这个方法不接受任何参数。

4、.parentsUntil():

查找当前元素的所有的前辈元素,直到遇到选择器,DOM 节点或 jQuery 对象匹配的元素为止,但不包括这些元素。

此方法与.nextuntil是相似的,以及参数用法等都相似。

 

二、演示

1、.parent()方法演示

此时获得 ul class="three" 的父元素,并为父元素添加一个边框的效果。

<ul class="one'">

<li>li 1</li>

<li class="two">li 2

<ul class="three">

<1i>item 1</li>

<li class="inner">item 2</li>

<li item 3</li>

</ul>

</Li>

<li>li3</1i>

<Li>1i 3</1i>

<li>li3</li>

<li>li3</li>

<div>d1</div>

<div>d1</div><div>d1</div>

<div>d1</div>

<div>d1</div>

</ul>

<script>

$(function() {

$(".three").parent).css("border","1px solid green");

Parent 的参数可写可不写,如果不写表示返回它的直接父元素。

演示效果如下:

jQuery 遍历_树遍历3|学习笔记

如果要选择 li 标签的父级元素,但是要求它的父级元素为 ul 类型,则书写为$(".li").parent(”ul”).css("border","1px solid green");演示结果如下:

jQuery 遍历_树遍历3|学习笔记

2、.parents()方法演示

$(function() {

Console.log($(“.three”).parents())

如果不写参数则会返回所有的祖先元素,如果Parents加参数则会进行筛选。

例如 Console.log($(“.three”).parents(“ul”))表示只返回类型为 ul 的祖先元素。

3、.offsetParent()方法演示

<ul class="one'"style=“position:absolute”>

<li>li 1</li>

<li class="two"style=”position:relative”>li 2

<ul class="three">

<1i>item 1</li>

<li class="inner">item 2</li>

<li item 3</li>

</ul>

</Li>

<li>li 3</1i>

<Li>1i 3</1i>

<li>li 3</li>

<li>li 3</li>

<div>d1</div>

<div>d1</div>

<div>d1</div>

<div>d1</div>

<div>d1</div>

</ul>

<script>

$(function() {

Console.log($(“.inner”).offsetparent());

要返回离 class="inner" 的 li 标签的最近的含有定位信息的祖先元素。此时返回的应该是 class="two" 这个 li 标签。

4、.parentsUntil 方法演示

<div class="c1">

<ul class="c2">

<li class="c3">li 1

<ul class="c4">

<li> item 1/li>

<li> item 2</li>

<li> item 3</li>

</ul>

</li>

<li> li 2</li>

<li> li 3</li>

</ul>

</div>

<script>

$(function() {

Console.log($(“.c4”).parentsUntil())

此时要获得 class="c4" 的所有的前缀元素,parentsUntil()中参数有两种情况,第一种情况是一个参数用于确定匹配到哪个前缀元素时停止匹配,第二种情况是两个参数,第二个参数用于过滤匹配的元素。

Console.log($(“.c4”).parentsUntil(“.c2”));表示匹配到 c2 就停止,Console.log($(“.c4”).parentsUntil(“.c1”,”ul”))

表示只是返回类型为 ul 的标签。

上一篇:关于写博


下一篇:ubuntu12.04 alternate win7 双系统安装