jquery parent和parents的区别

  从字面上不难看出parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选可以看出parent的取值很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。下面列出例子说明:

   

例1

  HTML代码如下:

 <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

 
例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

大致可以这样理解,这也是个人的一个看法

上一篇:前端开发入门到进阶附录一【JQuery中parent(),parents(),parentsUntil()区别和使用技巧】


下一篇:jquery parent和parents,children和find