Heim Web-Frontend js-Tutorial Detaillierte Erläuterung der Funktion jQuery.wrapAll()

Detaillierte Erläuterung der Funktion jQuery.wrapAll()

Jun 24, 2017 pm 01:43 PM
函数 详解

Die Funktion wrapAll() wird verwendet, um alle übereinstimmenden Elemente mit einem einzigen Element zu umschließen.

Diese Funktion gehört zum jQuery-Objekt (Instanz).

Syntax

Diese Funktion wurde in jQuery 1.2 hinzugefügt.

jQueryObject.wrapAll( Wrapper)

Parameter

Parameterbeschreibung

Wrapper String/Element/jQuery/Function-Typ wird verwendet Der Knoten, der das übereinstimmende Element umschließt.

Wenn der Parameter-Wrapper ein String ist, wird er als jQuery-Selektor oder HTML-String betrachtet und jQuery trifft sein eigenes Urteil.

Wenn wrapper kein Funktionstyp ist, verschiebt wrapAll() alle passenden Elemente an die Position des ersten passenden Elements und umschließt sie dann alle mit dem angegebenen einzelnen Element.

jQuery 1.4 neue Unterstützung: Parameter-Wrapper kann eine Funktion sein. wrapAll() durchläuft diese Funktion und führt sie basierend auf allen übereinstimmenden Elementen aus, und diese in der Funktion zeigt auf das entsprechende DOM-Element.

wrapAll() übergibt außerdem einen Parameter an die Funktion, nämlich den Index des aktuellen Elements im passenden Element. Der Rückgabewert der -Funktion ist der zum Umschließen verwendete Knoteninhalt (kann ein HTML-String, ein DOM-Element oder ein jQuery-Objekt sein).

Hinweis: Wenn der Wrapper mit mehreren Elementen übereinstimmt, wird nur das erste Element als Wrapper-Element verwendet.

Hinweis: Wenn der Wrapper ein mehrstufiges verschachteltes Element ist (z. B. „<p><i></i></p>“), führt wrapAll() eine Prüfung von außen durch nach innen Der erste Knoten jeder Verschachtelungsebene. Wenn der Knoten keine untergeordneten Knoten hat oder der erste untergeordnete Knoten kein Elementknoten ist (z. B. ein Textknoten, ein Kommentarknoten usw.), beenden Sie die Suche nach innen und hängen Sie das aktuell passende Element direkt an der Endposition im Inneren an (append()). der aktuelle Knoten.

Rückgabewert

Der Rückgabewert der Funktion wrapAll() ist vom Typ jQuery und gibt das aktuelle jQuery-Objekt selbst zurück (um die Programmierung im Kettenstil zu erleichtern).

Hinweis: Auch wenn das Wrapper-Element ein Element auf der aktuellen Seite ist, verschwindet das Element nicht von seiner ursprünglichen Position. Weil wrapAll() eine Kopie (Klon) des Elements verwendet, um als Umhüllungselement zu fungieren.

Beispiel und Beschreibung

Die Funktion wrapAll() wird verwendet, um alle übereinstimmenden Elemente mit einem einzigen Element zu umschließen:

&lt;p&gt;段落文本1&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;段落文本2&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(&quot;p&quot;).wrapAll( &#39;&lt;div&gt;&lt;/div&gt;&#39; ); 
&lt;/script&gt;
&lt;!--以下是jQuery代码执行后的html内容--&gt;
&lt;div&gt;&lt;p&gt;段落文本1&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;段落文本2&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
Nach dem Login kopieren

Nehmen Sie den folgenden HTML-Code als Beispiel:

&lt;p id=&quot;n1&quot;&gt;
    &lt;span id=&quot;n2&quot;&gt;[span#n2]&lt;/span&gt;    
&lt;/p&gt;
&lt;p id=&quot;n3&quot;&gt;
    &lt;label id=&quot;n4&quot;&gt;[label#n4]&lt;/label&gt;
&lt;/p&gt;
&lt;span id=&quot;n5&quot;&gt;[span#n5]&lt;/span&gt;
&lt;span id=&quot;n6&quot;&gt;[span#n6]&lt;/span&gt;
Nach dem Login kopieren

Der folgende jQuery-Beispielcode wird verwendet, um die spezifische Verwendung der Funktion „wrapAll()“ zu demonstrieren:

// 在n4元素外包裹del元素:&lt;del&gt;{#n4}&lt;/del&gt;
$(&quot;#n4&quot;).wrapAll(&#39;&lt;del/&gt;&#39;);
// 在所有span元素外包裹单个em元素:&lt;em class=&quot;all-span&quot;&gt;{#n2}{#n5}{#n6}&lt;/em&gt;
// 所有span元素会先移动到第一个span元素的位置,然后全部被em元素包裹起来
$(&quot;span&quot;).wrapAll(&#39;&lt;em class=&quot;all-span&quot;&gt;&lt;/em&gt;&#39;);
运行代码(其他代码请自行复制到演示页面运行)
wrapAll()会将包裹元素的开始标记和结束标记分别置于所有匹配元素的两侧,不会额外添加任何空白字符,上述代码执行后的完整html代码如下(格式未作任何调整):
&lt;p id=&quot;n1&quot;&gt;
    &lt;em class=&quot;all-span&quot;&gt;&lt;span id=&quot;n2&quot;&gt;[span#n2]&lt;/span&gt;&lt;span id=&quot;n5&quot;&gt;[span#n5]&lt;/span&gt;&lt;span id=&quot;n6&quot;&gt;[span#n6]&lt;/span&gt;&lt;/em&gt;    
&lt;/p&gt;
&lt;p id=&quot;n3&quot;&gt;
    &lt;del&gt;&lt;label id=&quot;n4&quot;&gt;[label#n4]&lt;/label&gt;&lt;/del&gt;
&lt;/p&gt;
Nach dem Login kopieren

Das Folgende ist der jQuery-Beispielcode, bei dem der Parameter-Wrapper a ist Funktion:

&lt;p id=&quot;n1&quot;&gt;
    &lt;span id=&quot;n2&quot;&gt;[span#n2]&lt;/span&gt;    
&lt;/p&gt;
&lt;p id=&quot;n3&quot;&gt;
    &lt;label id=&quot;n4&quot;&gt;[label#n4]&lt;/label&gt;
&lt;/p&gt;
&lt;span id=&quot;n5&quot;&gt;[span#n5]&lt;/span&gt;
&lt;span id=&quot;n6&quot;&gt;[span#n6]&lt;/span&gt;
<!--以上是执行jQuery代码前的html内容-->
<script type="text/javascript">
// 在所有span元素外包裹单个em元素:<em class="level-index">{span}</em>
// 由于参数是函数,因此所有span元素不会移动到一起
$("span").wrapAll( function(index){
    return '<em class="level-' + index + '"></em>'; 
} ); 
</script>
<!--以上是执行jQuery代码后的html内容-->
<p id="n1">
    <em class="level-0"><span id="n2">[span#n2]</span></em>    
</p>
<p id="n3">
    <label id="n4">[label#n4]</label>
</p>
<em class="level-1"><span id="n5">[span#n5]</span></em>
<em class="level-2"><span id="n6">[span#n6]</span></em>
Nach dem Login kopieren

Das Folgende ist der jQuery-Beispielcode, bei dem der Wrapper-Parameter ein mehrschichtiges verschachteltes Element ist:

&lt;span id=&quot;n1&quot;&gt;[span#n1]&lt;/span&gt;
&lt;label id=&quot;n2&quot;&gt;[label#n2]&lt;/label&gt;
&lt;span id=&quot;n3&quot;&gt;[span#n3]&lt;/span&gt;
&lt;!--以上是执行jQuery代码前的html内容--&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
// 在所有span元素外包裹嵌套的div元素:&lt;div&gt;&lt;p&gt;&lt;em&gt;{#n1}{#n3}&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
// 所有span元素都会移动到第一个span元素的位置
$(&quot;span&quot;).wrapAll( &#39;&lt;div&gt;&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&#39; );
/*
如果参数为&#39;&lt;div&gt;&lt;p&gt; &lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&#39;,由于&#39;&lt;p&gt;&#39;的第一个子节点是空格(文本节点),因此停止向内层查找,直接在p元素内部的末尾位置插入所有的span元素:&lt;div&gt;&lt;p&gt; &lt;em&gt;&lt;/em&gt;{#n1}{#n3}&lt;/p&gt;&lt;/div&gt;
 */
&lt;/script&gt;
&lt;!--以上是执行jQuery代码后的html内容--&gt;
&lt;div&gt;&lt;p&gt;&lt;em&gt;&lt;span id=&quot;n1&quot;&gt;[span#n1]&lt;/span&gt;&lt;span id=&quot;n3&quot;&gt;[span#n3]&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;label id=&quot;n2&quot;&gt;[label#n2]&lt;/label&gt;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Funktion jQuery.wrapAll(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen Apr 25, 2024 pm 02:39 PM

Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen

Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen Apr 24, 2024 pm 04:21 PM

Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen

Wie schreibe ich effiziente und wartbare Funktionen in Java? Wie schreibe ich effiziente und wartbare Funktionen in Java? Apr 24, 2024 am 11:33 AM

Wie schreibe ich effiziente und wartbare Funktionen in Java?

Vergleich der Vor- und Nachteile von C++-Funktionsstandardparametern und variablen Parametern Vergleich der Vor- und Nachteile von C++-Funktionsstandardparametern und variablen Parametern Apr 21, 2024 am 10:21 AM

Vergleich der Vor- und Nachteile von C++-Funktionsstandardparametern und variablen Parametern

Vollständige Sammlung von Excel-Funktionsformeln Vollständige Sammlung von Excel-Funktionsformeln May 07, 2024 pm 12:04 PM

Vollständige Sammlung von Excel-Funktionsformeln

Welche Vorteile haben C++-Funktionen, die Referenztypen zurückgeben? Welche Vorteile haben C++-Funktionen, die Referenztypen zurückgeben? Apr 20, 2024 pm 09:12 PM

Welche Vorteile haben C++-Funktionen, die Referenztypen zurückgeben?

Erweiterte Verwendung von Referenzparametern und Zeigerparametern in C++-Funktionen Erweiterte Verwendung von Referenzparametern und Zeigerparametern in C++-Funktionen Apr 21, 2024 am 09:39 AM

Erweiterte Verwendung von Referenzparametern und Zeigerparametern in C++-Funktionen

Erweiterte C++-Funktionsausnahme: Angepasste Fehlerbehandlung Erweiterte C++-Funktionsausnahme: Angepasste Fehlerbehandlung May 01, 2024 pm 06:39 PM

Erweiterte C++-Funktionsausnahme: Angepasste Fehlerbehandlung

See all articles