【jquery ajax】jquery 获取父节点实现代码详解

更新时间:2018-02-18    来源:jquery    手机版     字体:

【www.bbyears.com--jquery】

在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();

$("#cur").parent().parent(".pp");

$("#cur").parent(".pp");

获取父节点的方法closest([expr])。

 代码如下

$("#cur").closest(".pp");

先举个例子,

 代码如下


    jquery获取父节点
    jquery获取父元素

    我们的目的是通过 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个,或者多个元素

    本文来源:http://www.bbyears.com/wangyezhizuo/39354.html

热门标签

更多>>

本类排行