内容目录
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
0 条评论
撰写评论