jquery parent和parents的区别
从字面上不难看出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
大致可以这样理解,这也是个人的一个看法