2010-01-29 11 views
0

Je veux briser mes <ul> dans plusieurs <ul> balises, j'ai 10 <li> dans mon <ul> et je veux percer dans 2 <ul> (5 <li> chacun). Pour faire de même, je prends la 5ème <li> et l'annexe </ul><ul> en utilisant $ (this) .after(). Mais Jquery inverse automatiquement le texte et ferme automatiquement <ul>.comment désactiver autoclosing des balises dans jquery

Une idée comment désactiver pour fermer automatiquement?

Cheers, Felix

Répondre

2

Vous ne voulez pas désactiver la fermeture automatique. Ce que vous voulez est d'ajouter un nouveauUL après le premier, et puis ajouter à celui-ci, les cinq derniers LI s de la première liste. Pour obtenir une référence aux LI s suivantes les cinq premiers, vous pouvez faire:

$('myFirstUL li:gt(4)'); 

gt étant supérieur à indice de base zéro.

exemple de code complet: http://jsbin.com/ofowe/edit

+0

Merci beaucoup, je pris ces li et mis dans différents ul – Felix

3

Alors que la solution de David est une élégante pour le problème spécifique, une autre possibilité pour le problème général des étiquettes auto-finales serait de ne pas utiliser .append du tout. Utilisez plutôt une variable et utilisez .html(my_variable) à la fin. Je suis tombé sur ce tout en essayant de faire des listes imbriquées UL pour ce tableau très simple de chose Contenu:

$(document).ready(function() { 
    var prev=''; 
    var toc = ''; 
    $("h2, h3, h4, h5").each(function(i) { 
    var h = $(this); 
    var level = h.attr("tagName"); 
    if (level != prev) { 
     if (prev == '') { 
     toc += "<ul>\n"; 
     } 
     else { 
     if (level < prev) { 
      toc += "</ul>\n"; 
     } 
     else { 
      toc += "<ul>\n"; 
     } 
     } 
     prev = level; 
    } 
    toc += '<li><a href="#' + h.attr('id') + '">' + h.html() + "</a></li>\n"; 
    }); 
    toc += '</ul>'; 
    $("#toc").html(toc); 
}); 
+0

Pour les formes, en utilisant une variable d'une chaîne HTML au lieu de la chaîne html elle-même dans 'html()' ** encore ** se ferme automatiquement le '

'. Cela me dérange énormément – khaverim

Questions connexes