Wie kann ich mithilfe von JavaScript oder jQuery eine Reihe von HTML-Elementen in ein übergeordnetes HTML-Element einschließen und sie in jedem übergeordneten Element behalten?
<p>Ich versuche, alle <span>-Tags mithilfe von JavaScript oder jQuery in ein </span></p>-Tag zu packen. Ich möchte alle Elemente mit dem Klassennamen <code>wpb_wrapper</code> finden, dann alle <span>-Tags darin finden und diese <span>-Tag-Gruppen in ein separates <span> div>-Tag innerhalb von wpb_wrapper</code>, sodass jede Gruppe von untergeordneten <span>-Tags immer noch ein untergeordnetes Element ist, jedoch in ein <div>-Tag eingeschlossen ist <span>-Tag in einem separaten <div>-Tag. <p><br /></p>
<p>Davon:</p>
<pre class="brush:php;toolbar:false;"><div class="wpb_wrapper">
<span class=""></span>
<span class=""></span>
<span class=""></span>
<span class=""></span>
</div>
<div class="wpb_wrapper">
<span class=""></span>
<span class=""></span>
<span class=""></span>
<span class=""></span>
</div>
<div class="wpb_wrapper">
<span class=""></span>
<span class=""></span>
<span class=""></span>
<span class=""></span>
</div></pre>
<p>Änderungen daran:</p>
<pre class="brush:php;toolbar:false;"><div class="wpb_wrapper">
<div class="">
<span class=""></span>
<span class=""></span>
<span class=""></span>
<span class=""></span>
</div>
</div>
<div class="wpb_wrapper">
<div class="">
<span class=""></span>
<span class=""></span>
<span class=""></span>
<span class=""></span>
</div>
</div>
<div class="wpb_wrapper">
<div class="">
<span class=""></span>
<span class=""></span>
<span class=""></span>
<span class=""></span>
</div>
</div></pre>
<p>Ich habe es versucht, aber es erfasst immer noch alle <code>wpb_wrapper</code> und verpackt sie in einem separaten <code>wpb_wrapper</code> /span></p><div> tag<p><br /></p>
<pre class="brush:php;toolbar:false;">jQuery('.wpb_wrapper').each(function(){
jQuery(this).find('span').wrapAll('<div class=""/>');
});</pre>
<p><br /></p>
<pre class="snippet-code-js lang-js Prettyprint-override"><code>jQuery('.wpb_wrapper').each(function() {
jQuery(this).find('span').wrapAll('<div class=""/>');
});
console.log(document.body.innerHTML);</code></pre>
<pre class="snippet-code-css lang-css Prettyprint-override"><code>.wpb_wrapper { border: 1px solid;
.wpb_wrapper > div { border: 1px dotted red }
.wpb_wrapper > div > span { border: 1px gestricheltes Blau }</code></pre>
<pre class="snippet-code-html lang-html Prettyprint-override"><code><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/ jquery.min.js"></script>
<div class="wpb_wrapper">
<span class="">0</span>
<span class="">0</span>
<span class="">0</span>
<span class="">0</span>
</div>
<div class="wpb_wrapper">
<span class="">1</span>
<span class="">1</span>
<span class="">1</span>
<span class="">1</span>
</div>
<div class="wpb_wrapper">
<span class="">2</span>
<span class="">2</span>
<span class="">2</span>
<span class="">2</span>
</div></code></pre>
<p><br /></p></div></div></span></div></span></div></span> </span></div></div>