当前位置: 首页 > 中文手册 > jQuery.add() 函数详解

jQuery.add() 函数详解

add()函数用于向当前匹配元素中添加符合指定表达式的元素,并以jQuery对象的形式返回。

这里的表达式包括:选择器(字符串)、HTML内容(字符串)、DOM元素(Element)、jQuery对象。

与该函数相对的是not()函数,用于从当前匹配元素中移除符合指定表达式的元素。

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

语法

jQueryObject.add( expr [, context ] )

参数

参数描述
exprString/Element/jQuery类型指定的表达式。
context可选/Element/jQuery类型指定表示查找范围的文档节点,该参数只有在expr参数表示选择器字符串时才可用。

如果expr参数为字符串,它表示jQuery选择器或HTML标签内容,jQuery会自动进行相应的判断。

jQuery 1.3.2 新增支持:参数expr可以为jQuery对象

jQuery 1.4 新增支持:新增context参数。当expr参数表示选择器时,context参数用于指定该选择器的查找范围。

返回值

add()函数的返回值为jQuery类型,返回一个新的jQuery对象,该对象封装了当前jQuery对象和指定表达式的匹配元素之和。

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

add()函数并不会更改当前jQuery对象的元素匹配,添加结果只反映在作为返回值的新的jQuery对象中。

示例&说明

add()函数与联合选择器具有以下等效代码:

// 这里的s1、s2均表示任意的选择器
$("s1").add("s2");
// 等价于
$("s1,s2");

以下面这段HTML代码为例:

<p id="n1">
	<span id="n2">
		<span id="n3">A</span>
	</span>
	<label id="n4">B</label>
	<span id="n5">
		<span id="n6">C</span>
	</span>
	<strong id="n7" class="active">D</strong>
	<span id="n8" class="active">E</span>
</p>
<p id="n9">
	<span id="n10"></span>
	<label id="n11"></label>
	<span id="n12" class="active"></span>
</p>

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

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


//匹配所有的p元素,再加上所有的label元素
var $elements1 = $("p").add("label");
document.writeln( getTagsInfo( $elements1 ) ); // #n1,#n4,#n9,#n11

var $matches = $("span.active").add( document.getElementsByTagName("label")  );
document.writeln( getTagsInfo( $matches ) ); // #n4,#n8,#n11,#n12


var $elements2 = $("label").add( $("strong") );
document.writeln( getTagsInfo( $elements2 ) ); // #n4,#n7,#n11

var $elements3 = $("span.active").add( "label", $("#n9") );
document.writeln( getTagsInfo( $elements3 ) ); // #n8,#n11,#n12

var $elements4 = $("p").add(".active").add("span:only-child");
document.writeln( getTagsInfo( $elements4 ) ); // #n1,#n3,#n6,#n7,#n8,#n9,#n12

运行代码

11 0
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
CodePlayer技术交流群1CodePlayer技术交流群1

帮朋友打一个硬广告:

P2P网贷系统(Java版本) 新年低价大促销,多年P2P技术积累,系统功能完善(可按需定制,可支持第三方存管、银行存管),架构稳定灵活、性能优异、二次开发快速简单。 另可提供二次开发、安装部署、售后维护、安全培训等一条龙服务。

外行看热闹,内行看门道。可以自信地认为,在系统设计上,比市面上的晓风、迪蒙、方维、绿麻雀、国融信、金和盛等P2P系统要好。
深圳地区支持自带技术人员现场考察源代码、了解主要技术架构,货比三家,再决定是否购买。

也可推荐他人购买,一旦完全成交,推荐人可获得实际售价 10% 的返现。
有意向者,详情请 点击这里 联系,工作时间立即回复。