关于jquery查找父节点的方法

使用jQuery查找父元素或父节点的方法  

2013-04-01 15:02:21|  分类: jQuery|举报|字号 订阅spa

 1、获取父元素:code

<div id="one" style="position:relative;">
  <div id="two">hello</div>
  <div id="three" style="position:relative;">
  <p><a href="#">tonsh</a></p>
  </div>
</div> orm

一、parent:取得一个包含着全部匹配元素的惟一父元素的元素集合。

     $("a").parent();   //获得父对象<p>对象

二、parents:取得一个包含着全部匹配元素的祖先元素的元素集合(不包含根元素),能够经过一个可选的表达式进行筛选。blog

    $("a").parents(“div”);    //获得<div.3><div.1> 。
三、cloest:从元素自己开始,逐级向上级元素匹配,并返回最早匹配的元素。three

    $("a").closest("div");    //获得<div.3>get

cloest()和parents()方法的主要区别以下:it

      * 前者从当前元素匹配查找,后者从父元素开始匹配查找io

       *前者逐级向上查找,直到发现匹配的元素后就中止了,后者一直向上查找直到根元素,而后把这些元素放进一个临时集合中,再用给定的选择器表达式去过滤。class

       *前者返回0或者1个元素,后者可能包含0个、1个或者多个元素。

四、parentsUntil(): 用于获取当前匹配元素集合中每一个元素的祖先元素,直至给定选择器匹配的元素(但不包括该元素)。

    $("a").parentsUntil("#one");           //获得的是<div.3><p>,不包括<div.1>

五、offsetParent():用于搜索第一个匹配元素的已定位的父元素,仅对可见元素有效。

    $("a").offsetParent();              //返回<div.3>
======================================================================

2、获取同级元素:

一、prev(),返回上一个兄弟节点,不是全部的兄弟节点。

二、prevAll(),返回全部以前的兄弟节点。

三、next(),返回下一个兄弟节点,不是全部的兄弟节点。

四、nextAll(),返回全部以后的兄弟节点。

五、siblings(),返回兄弟姐妹节点,不分先后。

======================================================================

3、获取子元素:

1:、>:例如:$("ul > a");查找ul下的全部a标签。

二、children():返回全部子节点,这个方法只会返回直接的孩子节点,不会返回全部的子孙节点。