内容目录
find()
函数用于选取每个匹配元素的符合指定表达式的后代元素,并以jQuery对象的形式返回。
这里的表达式包括:选择器(字符串)、DOM元素(Element)、jQuery对象。
该函数属于jQuery
对象(实例)。
语法
jQueryObject.find( expr )
参数
参数 | 描述 |
---|---|
expr | String/Element/jQuery类型指定的表达式。 |
find()
函数将在当前jQuery对象每个匹配元素的所有后代元素中筛选符合指定表达式的元素。
如果expr
参数为字符串,则将其视作jQuery选择器,用以表示该选择器所匹配的元素。
jQuery 1.6 新增支持:参数expr
可以为DOM元素(Element)或jQuery对象。
返回值
find()
函数的返回值为jQuery类型,返回一个新的jQuery对象,该对象封装了当前jQuery对象匹配元素的所有符合指定选择器的后代元素。
如果没有匹配的元素,则返回空的jQuery对象。
示例&说明
find()
函数具有以下等价代码:
// 这里的是selector、selector1均表示任意的选择器
$("selector").find("selector1");
// 等价于
$("selector selector1");
以下面这段HTML代码为例:
<p id="e1">
<span id="e2" class="site">
<span id="e3" class="item site-name">CodePlayer</span>
<span id="e4" class="item site-desc">专注于编程开发技术分享</span>
</span>
<span id="e5" class="site-url">https://codeplayer.vip</span>
</p>
<p id="e6">
JavaScript<span id="e7" class="highlight">jQuery</span>
<a id="e8" href="https://codeplayer.vip">CodePlayer</a>
</p>
以下jQuery示例代码用于演示find()
函数的具体用法:
// 返回jQuery对象所有匹配元素的标识信息数组
// 每个元素形如:tagName或tagName#id(如果有id的话)
function getTagsInfo($doms){
return $doms.map(function(){
return this.tagName + (this.id ? "#" + this.id : "");
}).get();
}
// 匹配id为e1的元素
var $e1 = $("#e1");
var $e1_span = $e1.find("span");
document.writeln( getTagsInfo( $e1_span ) ); // SPAN#e2,SPAN#e3,SPAN#e4,SPAN#e5
var $p = $("p");
var $p_span = $p.find("span");
document.writeln( getTagsInfo( $p_span ) ); // SPAN#e2,SPAN#e3,SPAN#e4,SPAN#e5,SPAN#e7
var $highlight = $p.find( $(".highlight") );
document.writeln( getTagsInfo( $highlight ) ); // SPAN#e7
var a = document.getElementsByTagName("a");
var $a = $p.find( a );
document.writeln( getTagsInfo( $a ) ); // A#e8
0 条评论
撰写评论