视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
jquery中关于parent和parents两者的区别分享
2020-11-27 20:19:01 责编:小采
文档


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

<p id='p1'>
<p id='p2'><p></p></p>
<p id='p3' class='a'><p></p></p>
<p id='p4'><p></p></p>
</p>


$('p').parent()取到的是p2,p3,p4
$('p').parent('.a')取到的是p3
$('p').parent().parent()取到的是p1,这点比较奇特;不过Jquery对象本身的特点决定了这是可行的。
$('p').parents()取到的是p1,p2,p3,p4
$('p').parents('.a')取到的是p3
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> 
</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
例子中:

<p><p>Hello</p><p>Hello</p></p>

$("p").parent() 得到的是:<p><p>Hello</p><p>Hello</p></p>对象,因为p标签的父标签是p

jquery的parents()使用

今天遇到一个有意思的问题,jquery有两个函数parent()和parents().通过这两个函数可以找到一个对象的父对象,又称作jquery的选择器。举个例子:

<body>
<div id="one">
<div id="two">hello</div>
<div id="three">
<p>
<a href="#">tonsh</a>
</p>
</div>
</div>

$(”a”).parent()将会得到父对象<p>
$(”a”).parents()得到父对象为<p><div.3><div.1>
$(”a”).parents().filter(”div”)将得到<div.3><div.1>,还可以写成$(”a”).parents(”div”)。
如果想的到<div.2>对象可以写成这样:$(”a”).parents(”div:eq(0)”)。
如果点击<a>链接时弹出<div.2>中的内容该怎么办?

var id=$("a").parents("div:eq(1)").children("div:eq(0)").html(); 
alert(id);

下载本文
显示全文
专题