jQuery.add() 函数详解

    xiaoxiao2021-04-16  28

    jQuery.add() 这个方法用的不多,不过它可以作为一种取巧的方法来使用这样就可以节省很多不必要的类名 具体解释如下:

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

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

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

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

    语法

    jQueryObject.add( expr [, context ] )

    参数

    参数 描述 expr String/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

    运行代码

    这个案例并没有说清楚,所以又转载了一下w3c中例子

    实例

    找到所有 div 并添加边框。然后将所有段落添加到该 jQuery 对象,并把它们的背景设置为黄色:

    $("div").css("border", "2px solid red") .add("p") .css("background", "yellow");

    定义和用法

    add() 方法将元素添加到匹配元素的集合中。

    语法 1

    .add(selector) 参数 描述 selector 字符串值,表示查找供添加到匹配元素集合的元素的选择器表达式。

    语法 2

    .add(elements) 参数 描述 elements 添加到匹配元素集合的一个或多个元素。

    语法 3

    .add(html) 参数 描述 html 添加到匹配元素集合的 HTML 片段。

    语法 4

    .add(jQueryObject) 参数 描述 jQueryObject 添加到匹配元素集合的已有 jQuery 对象。

    语法 5

    .add(selector, context) 参数 描述 selector 字符串值,表示查找供添加到匹配元素集合的元素的选择器表达式。 context 选择器开始进行匹配的位置。

    找到所有 div 并添加边框。然后将所有段落添加到该 jQuery 对象,并把它们的背景设置为黄色:

    $("div").css("border", "2px solid red") .add("p") .css("background", "yellow"); 这个可以说明add的使用方法 var element1 = $("#n3").add('#n4'); console.log(element1); $("strong").add("label").css({ background: '#2195de', border: "2px solid red" });
    转载请注明原文地址: https://ju.6miu.com/read-672273.html

    最新回复(0)