2010-12-14 56 views
1

Je travaille sur un curseur, où je veux convertir tous les quatre LI en un LI.jQuery: Convertir tous les quatre LI en un

Le curseur affiche un LI avec quatre éléments à la fois. Je veux que le contenu soit des SPAN contenus dans un LI.

De: (un SPAN par LI)

<li><span>#Content</span></li> 
<li><span>#Content</span></li> 
<li><span>#Content</span></li> 
<li><span>#Content</span></li> 
<li><span>#Content</span></li> 
<li><span>#Content</span></li> 


... en: (quatre SPAN par LI)

<li><span>#Content</span><span>#Content</span><span>#Content</span><span>#Content</span></li> 
<li><span>#Content</span><span>#Content</span></li> 

Je ne peux pas sembler trouver des informations sur Internet , à propos de cette technique. Que devrais-je faire?

Cela a-t-il un sens? Désolé de mon mauvais anglais ...

+0

Comment sont les LI en cours de création? HTML, jQuery, PHP (ou autre) etc ... –

Répondre

4

Vous pouvez boucler à travers avec .slice() et .wrapAll() comme ceci:

var spans = $("li span").unwrap(); 
for(var i = 0; i < spans.length; i+=4) { 
    spans.slice(i, i+4).wrapAll("<li />"); 
} 

You can test it out here. Qu'est-ce que cela fait est .unwrap() pour enlever les emballages initiaux <li>, puis en boucle à travers des encarts de 4, utilise .slice() pour obtenir le jeu que nous travaillons (il va gérer correctement les 4 derniers ou moins) et utiliser .wrapAll() sur ces éléments <span> mettez-les dans un nouveau <li>.

+0

Nick votre réponse m'étonner. génial. –

+0

@Kenneth - Essayez ceci: http://www.jsfiddle.net/nick_craver/zsLc6/1/ –

+0

Merci Nick ... Vous Rock! :-) –

0

Fetch contenu de 4 li et le contenu concaténer en simple li Essayez d'utiliser create_html.js (plugin) pour créer li efficacement