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


關於Jquery的parent和parents

parent是指取得一個包含着所有匹配元素的唯一父元素的元素集合。
parents則是取得一個包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通過一個可選的表達式進行篩選。
可以看出parent取的很明確,就是當前元素的父元素;parents則是當前元素的祖先元素。下面列出例子說明:
<div id='div1'>
<div id='div2'><p></p></div>
<div id='div3' class='a'><p></p></div>
<div id='div4'><p></p></div>
</div>

$('p').parent()取到的是div2,div3,div4
$('p').parent('.a')取到的是div3
$('p').parent().parent()取到的是div1,這點比較奇特;不過Jquery對象本身的特點決定了這是可行的。
$('p').parents()取到的是div1,div2,div3,div4
$('p').parents('.a')取到的是div3

 

 

 

parent(exp)用法:取得一個包含着所有匹配元素的唯一父元素的元素集合。

  1. <script src="jquery-1.2.6.min.js" type="text/javascript"></script>
  2. <script type="text/javascript"> 
  3. $(document).ready(function() {
  4. $("#btn1").click(function(){
  5. alert($(this).parent().next().html());
  6. });
  7. });
  8. </script> 
  9. </head> 
  10. <body> 
  11. <table>
  12. <tr>
  13.       <td><input id="btn1"  class="btn" type="button"  value="test"/></td>
  14.       <td>some text</td>
  15. </tr>
  16. </table>
  17. ....
其中:
  1. this.parent()是input前面的td
  2. this.parent().parent()獲取的是tr
  3. this.parent().parent().parent()獲取的是table
  4. this.parent().next()獲取的是td相臨的td

另例子中:

<div><p>Hello</p><p>Hello</p></div>

$("p").parent() 得到的是:<div><p>Hello</p><p>Hello</p></div>對象,因為p標簽的父標簽是div.

 

 

 

 

jquery的parents()使用

今天遇到一個有意思的問題,jquery有兩個函數parent()和parents().通過這兩個函數可以找到一個對象的父對象,又稱作jquery的選擇器。舉個例子:

<body>
<div id="one">
<div id="two">hello</div>
<div id="three">
<p>
<a href="#">tonsh</a>
</p>
</div>
</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); 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM