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
以上是jQuery.add() 函數的正確用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!