J’ai une structure HTML qui ressemble à ceci:
Title
Content
- Item
- Item
Content
Title
Content
- jquery ouvert accordéon de lien
- peupler l’accordéon jQuery UI avec XML, problème de liaison
- Jquery accordéion ne retire pas Class et n’échange pas son texte Développer pour Réduire
- Déclencher un menu accordéon jQuery par un événement?
- jQuery UI Accordion – Comment faire pour supprimer le style complètement?
- Item
- Item
Content
En résumé c’est juste quelques en-têtes avec un contenu en dessous d’eux, j’ai juste besoin de tout en dessous des balises d’en-tête dans un div comme ceci:
Title
Content
- Item
- Item
Content
J’ai essayé d’utiliser la fonction .wrap
de jQuery mais pas de chance, car il peut y avoir plusieurs éléments de types sous les balises d’en-tête. J’ai trouvé cette question: jQuery encapsule des ensembles d’éléments dans div qui sont très similaires mais n’ont pas pu s’adapter Est-ce que quelqu’un peut m’aider?
Merci d’avance!
Vous pouvez essayer ceci:
$(function() { $('h5').each(function(i, e) { $(e).nextUntil('h5').wrapAll(''); }); });
Faire ceci:
$(document).ready(function () { $('h5').each(function () { $(this).nextUntil('h5').wrapAll(''); }) })
Essaye ça
var $div; $("h5").each(function(){ $div = $(""); if($(this).nextAll("h5").length){ $(this).after($div.append($(this).nextUntil("h5"))); } else{ $(this).after($div.append($(this).siblings())); } });
Je voudrais juste coller une div dans la page après le h5 et y insérer manuellement les éléments.
En supposant que tout est à l’intérieur de quelque chose, comme la balise body (non testée!):
Title
Content
- Item
- Item
Content
var children = $(document.body).children(), $child $div; for(var x = 0, child; child = children[x++];) { $child = $(child); if($child.is('h5')) { $div = $('').after($child); } else { $child.appendTo($div); } }