從字面上不難看出parent是指取得一個包含着所有匹配元素的唯一父元素的元素集合。parents則是取得一個包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通過一個可選的表達式進行篩選可以看出parent的取值很明確,就是當前元素的父元素;parents則是當前元素的祖先元素。下面列出例子說明:
例1
HTML代碼如下:
1 <div id='div1'>
2 <div id='div2'><p></p></div>
3 <div id='div3' class='a'><p></p></div>
4 <div id='div4'><p></p></div>
5 </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
例2
HTML代碼如下:
<table> <tr> <td><input id="btn1" class="btn" type="button" value="test" /></td> <td>some text</td> </tr> </table>
JQ代碼如下:
$(document).ready(function() { $("#btn1").click(function(){ alert($(this).parent().next().html()); }); });
其中:
this.parent()是input前面的td
this.parent().parent()獲取的是tr
this.parent().parent().parent()獲取的是table
this.parents()獲取的是td,tr,table
大致可以這樣理解,這也是個人的一個看法