parent是找當前元素的第一個父節點,parents是找當前元素的所有父節點
先說一下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)用法:取得一個包含著所有匹配元素的唯一父元素的元素集合。
<script type="text/javascript" src="http:///keleyi/pmedia/jquery/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btn1").click(function(){
alert($(this).parent().next().html());
});
});
</script>
</head>
<body>
<table>
<tr>
<td><input id="btn1" class="btn" type="button" value="test" /></td>
<td>some text</td>
</tr>
</table>
....
其中:
this.parent()是input前面的td
this.parent().parent()獲取的是tr
this.parent().parent().parent()獲取的是table
this.parent().next()獲取的是td相臨的td
例子中:
<div><p>Hello</p><p>Hello</p></div>
$("p").parent() 得到的是:<div><p>Hello</p><p>Hello</p></div>對象,因為p標簽的