Jquery的parent和parents(找到某一特定的祖先元素)用法

[html] view plain copy
 
  1. <!--  
  2. parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。  
  3. parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。  
  4.   
  5. parent取得很明确就是当前元素的父元素  
  6. parents则是当前元素的祖先元素  
  7. -->  
  8. <html>  
  9.     <head></head>  
  10.     <body>  
  11.         <div id="div1">  
  12.         <div id="div2"><p></p></div>  
  13.         <div id="div3" class="a"><p></p></div>  
  14.         <div id="div4"><p></p></div>  
  15.         </div>  
  16.     </body>  
  17.     <script type="text/javascript" src="jquery-1.7.1.min.js"></script>  
  18.     <script type="text/javascript">  
  19.         $("p").parent();            //取得的是div2、div3、div4  
  20.         $('p').parent('.a');        //取得是div3  
  21.         $('p').parent().parent();   //取得是div1(这点比较奇特,不过Jquery对象本身的特点决定了这是可行的)  
  22.         $('p').parents();           //取得的是div1、div2、div3、div4  
  23.         $('p').parents('.a');       //取得的是div3  
  24.     </script>  
  25. </html>  

 

 

[html] view plain copy
 
  1.    <body>  
  2.     <table>  
  3.         <tr>  
  4.             <td><input id="btn1" class="btn" type="button" value="test"/></td>  
  5.                <td>some text</td>  
  6.            </tr>  
  7.        </table>  
  8.    </body>  
  9. <script type="text/javascript" src="jquery-1.7.1.min.js"></script>  
  10.    <script type="text/javascript">  
  11. $(function(){  
  12.     $("#btn1").click(function(){  
  13.         alert($(this).parent().next().html());  
  14.         });  
  15.     });  


打印结果:some text

 

其中:

1、this.parent() 获取的是input前面的td;

2、this.parent().parent() 获取的是tr;

3、this.parent().parent().parent() 获取的是table;

4、this.parent().next() 获取的是input前面的td相邻的另一个td。

另一个例子中:

 

[html] view plain copy
 
  1. <div>  
  2.      <p>Hello</p>  
  3.      <p>Hello</p>  
  4. </div>  

 $('p').parent() 得到的是:<div><p>Hello</p><p>Hello</p></div>对象,因为p标签的父标签是div

 

有关parents

 

[html] view plain copy
 
  1. <div id="one">  
  2.        <div id="Two">hello</div>  
  3.        <div id="Three">  
  4.         <p><href="#">tonsh</a></p>  
  5.        </div>  
  6.        </div>  


$("a").parent() 将会得到父对象<p>

 

$("a").parents()  得到父对象<p><div.3><div.1>

$("a").parents().filter("div") 将得到<div.3><div.1> 还可以写成$("a").parents("div")。

如果想得到<div.2>对象可以写成这样:$("a").parents("div:eq(0)")。

如果点击<a>链接时弹出<div.2>中的内容该怎么办?

var id=$("a").parents("div:eq(1)").children("div:eq(0)").html();

alert(id);

 

posted @ 2016-02-17 15:04  Akgu  阅读(392)  评论(0编辑  收藏  举报