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)用法:取得一个包含着所有匹配元素的唯一父元素的元素集合。

<script src="jquery-1.2.6.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("#btn1").click(function(){
        alert($(this).parent().next().html());
    });
});
</script>
<body>
<table>
    <tr>
        <td><input id="btn1" class="btn" type="button" value="test"/></td>
        <td>some text</td>
    </tr>
</table>
</body>

 

其中:

  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

 

posted @ 2018-08-17 13:01  格鲁特baby  阅读(127)  评论(0编辑  收藏  举报