您的位置:首页 > Web前端 > JQuery

jquery parent()和parents()的区别

2017-07-12 19:58 465 查看
先说一下parent和parents的区别

从字面上不难看出

parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。

parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。

可以看出parent的取值很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。下面列出例子说明:

 

 

<div id='div1'>

<divid='div2'><p></p></div>

<div id='div3'class='a'><p></p></div>

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

 

 

 

 

<scriptsrc="jquery-1.2.6.min.js"type="text/javascript"></script>

<scripttype="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标签的父标签是div.

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: