最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
jquery 获取父节点实现代码详解
时间:2013-06-09 编辑:简简单单 来源:一聚教程网
在js中我们要获取父节点有很多办法,如
1)parentObj.firstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持parentObj.firstChild.firstChild.firstChild...的形式,如此就可以获得更深层次的节点。
(2)parentObj.lastChild:很显然,这个属性是获取已知节点(parentObj)的最后一个子节点。与firstChild一样,它也可以递归使用。
在使用中,如果我们把二者结合起来,那么将会达到更加令人兴奋的效果,即:parentObj.firstChild.lastChild.lastChild...
(3)parentObj.childNodes:获取已知节点的子节点数组,然后可以通过循环或者索引找到需要的节点。
在jquery我们可以使用closest和parents
假设需要获取当前节点的祖父节点(父节点的父节点),其有属性class=”pp”,那么获取的方法为:
代码如下 | 复制代码 |
$('#cur').parent().parent(); |
获取父节点的方法closest([expr])。
代码如下 | 复制代码 |
$('#cur').closest('.pp'); |
先举个例子,
代码如下 | 复制代码 |
我们的目的是通过 id 为 item1 的便签a取到 class 为 parent1 的ul元素,有以下几种方法:
1、parent([expr])
取得一个包含着所有匹配元素的唯一父元素的元素集合。
你可以使用可选的表达式来筛选。
代码如下
代码如下 | 复制代码 |
$('#item1').parent().parent('.parent1'); |
2、:parent
匹配含有子元素或者文本的元素
代码如下
代码如下 | 复制代码 |
$('li:parent'); |
3、parents([expr])
取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
代码如下
代码如下 | 复制代码 |
$('#items').parents('.parent1'); |
closest和parents的主要区别是:
前者从当前元素开始匹配寻找,后者从父元素开始匹配寻找
前者逐级向上查找,直到发现匹配的元素后 就停止了,后者一直向上查找直到根元素,然后把这些元素放进一个临时集合中,再用给定的选择器表达式去过滤
前者返回0或1个元素,后者可能包含0 个,1个,或者多个元素
相关文章
- jquery dialog获取焦点的方法 03-24
- jquery实现input框获取焦点的方法 03-16
- JQuery获取鼠标进入和离开容器的方向的教程 12-29
- jquery attr方法获取input的checked属性问题 09-08
- jquery对象获取的一些方法总结 08-18
- jquery获取父节点、子节点、兄弟节点方法 04-01