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

原创 jQuery.children() 函数详解

7148 次浏览 读完需要≈ 7 分钟

内容目录

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

你还可以使用选择器进一步缩小筛选范围,筛选出符合指定选择器的元素。

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

语法

jQueryObject.children( [ selector ] )

参数

参数 描述
selector 可选/String类型指定的选择器字符串。

children()函数将在当前jQuery对象每个匹配元素的所有子元素中筛选符合指定选择器的元素。

如果省略selector参数,则选取匹配元素的所有子元素。

返回值

children()函数的返回值为jQuery类型,返回一个新的jQuery对象,该对象封装了当前jQuery对象匹配元素的所有符合指定选择器的子元素

如果没有匹配的元素,则返回空的jQuery对象。

children()函数只在当前jQuery对象匹配元素的所有子元素中查找,不会查找"孙子"以及更后代的元素。

示例&说明

children()函数与子代选择器具有以下等价代码:

// 这里的selector、selector1均表示任意的选择器
$("selector").children("selector1");
// 等价于
$("selector > selector1");


$("selector").children( );
// 等价于
$("selector > *");

以下面这段HTML代码为例:

<ul id="n1">
	<li id="n2" class="active">
		<span id="n3">菜单1</span>
		<ul id="n4">
			<li id="n5" class="active">子菜单1-1</li>
			<li id="n6">子菜单1-3</li>
		</ul>
	</li>
	<li id="n7">
		<span id="n8">菜单2</span>
		<ul id="n9">
			<li id="n10">子菜单2-1</li>
			<li id="n11" class="active">子菜单2-2</li>
			<li id="n12">子菜单2-3</li>
		</ul>
	</li>
	<li id="n13"><span id="n14">菜单3</span></li>
</ul>

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

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

// 匹配id为n1的元素
var $n1 = $("#n1");

// 匹配n1的所有子元素
var $menu_li = $n1.children();
document.writeln( getTagsInfo( $menu_li ) ); // LI#n2,LI#n7,LI#n13

// 匹配n1所有含有类名active的子元素
var $active_menu_li = $n1.children(".active");
document.writeln( getTagsInfo( $active_menu_li ) ); // LI#n2

// 匹配$menu_li每个元素的所有span子元素
var $span = $menu_li.children("span");
document.writeln( getTagsInfo( $span ) ); //  SPAN#n3,SPAN#n8,SPAN#n14

运行代码

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

0 条评论

撰写评论

打开导航菜单