您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月27日 06:00

原创 jQuery.parents() 函数详解

5013 次浏览 读完需要≈ 6 分钟

内容目录

parents()函数用于选取每个匹配元素的祖先元素,并以jQuery对象的形式返回。

你还可以使用选择器来进一步缩小选取范围,只选取其中符合指定选择器的元素。

该函数属于jQuery对象(实例)。

语法

jQueryObject.parents( [ selector ] )

参数

参数 描述
selector 可选/String类型指定的选择器字符串,用于筛选匹配的元素。

parents()函数将选取当前jQuery对象每个匹配元素的符合选择器selector祖先元素

如果省略selector参数,则选取所有的祖先元素。

返回值

parents()函数的返回值为jQuery类型,返回一个新的jQuery对象,该对象封装了当前jQuery对象每个匹配元素的符合选择器selector(如果指定了的话)的所有祖先元素。

如果没有符合条件的元素,则返回空的jQuery对象。

示例&说明

以下面这段HTML代码为例:

<!DOCTYPE html>
<html>
<body>
<div id="n1">
	<p id="n2"></p>
	<p id="n3">
		<span id="n4" class="foo"></span>
	</p>
</div>
<div id="n5" class="bar">
	<p id="n6" class="foo"></p>
</div>
</body>
</html>

以下jQuery示例代码用于演示parents()函数的具体用法:

// 返回jQuery对象所有匹配元素的标识信息数组
// 每个元素形如:tagName或tagName#id(如果有id的话)
function getTagsInfo($doms){
	return $doms.map(function(){
		return this.tagName + (this.id ? "#" + this.id : "");
	}).get();
}

var $n4 = $("#n4");

//获取n4的祖先元素
var $parents1 = $n4.parents();
document.writeln( getTagsInfo( $parents1 ) ); // P#n3,DIV#n1,BODY,HTML

var $p = $("p");

//获取所有p元素的祖先元素
var $parents2 = $p.parents();
document.writeln( getTagsInfo( $parents2 ) ); // DIV#n5,DIV#n1,BODY,HTML

//获取所有p元素的包含类名"bar"的祖先元素
var $parents3 = $p.parents(".bar");
document.writeln( getTagsInfo( $parents3 ) ); //  DIV#n5

var $foo = $(".foo");

//获取所有包含类名"foo"的元素的祖先元素中的div元素
var $parents4 = $foo.parents("div");
document.writeln( getTagsInfo( $parents4 ) ); // DIV#n5,DIV#n1

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单