Aggiungi class a se un DIV ha più di 4 elementi

Sto cercando di aggiungere una class a quando

ha più di 4 elementi

  • text
  • .

    HTML:

       
    • text
    • text
    • text
    • text
    • text

    Significa che se

      ha 5 elementi

    • text
    • allora aggiungi una class al body come . Qualsiasi corpo sa come farlo da Jquery . Grazie in anticipo.

      Puoi usare setInterval (necessario solo se i tuoi li vengono aggiunti rimossi dynamicmente, puoi saltarlo se non è il caso), e controllare la sua lunghezza all’interno e fare le rispettive azioni se necessario.

       setInterval(function(){ if(jQuery('div.scroll ul > li').length > 4) jQuery('body').addClass('popup'); else jQuery('body').removeClass('popup'); }, 1000); 

      Nota: è necessario inserire questo script prima della chiusura del tag body o dopo degli elementi per i quali è necessario confrontare la lunghezza.

      Penso che tu stia cercando qualcosa come la seguente.

       $(function() { //Will execute as soon as the DOM is loaded addBodyClass(); //Let's say a click function somewhere deletes a LI $("selector").on("click", function() { $('.scroll li:last').remove(); //Now there are 4 LIs which means remove the popup class from body //So, call the function again addBodyClass(); }); }); function addBodyClass() { $('.scroll li').length > 4 && $("body").addClass("popup") || $("body").removeClass("popup"); //The above is the shorter version of if ($('.scroll li').length > 4) { $("body").addClass("popup"); } else { $("body").removeClass("popup"); } } 

      Questo dovrebbe funzionare per te