Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    jquery, eliminare tutte le righe di una tabella tranne l'intestazione

    codice:
    function elimina_righe()
    {
        var righe = $("#table1 tr");
        var n = righe.length; 
        if(n > 1)
        {
            if(confirm("Confermi l'eliminazione di tutte le righe?"))
            {
                for(var i =  n-1; i > 0; i--) $(righe[i]).remove();
                table1_riga = 0;
            }
       
        }
    }
    Questo codice funziona. Mi chiedevo se si potesse scrivere diversamente o meglio.

    Ciao
    Pietro

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    $("#table1 tr + tr").remove();

    oppure

    $("#table1 tr:nth-child(n+1)").remove();


    la funzione quindi potrebbe diventare solo

    codice:
    function elimina_righe()
    {
            if (confirm("Confermi l'eliminazione di tutte le righe?")) {
               $("#table1 tr:nth-child(n+1)").remove();
            }
    }

    precisazione a margine: la prima riga con l'intestazione dovrebbe trovarsi in un <thead> e le righe in un <tbody> nel qual caso ti basterebbe $("#table1 tbody tr").remove();
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti ringrazio davvero e conserverò l'esempio da te proposto ma, detto tra di noi, mi trovo davvero a mio agio con un caro, vecchio, ciclo for.

    Ciao
    Pietro

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da pietro09
    Ti ringrazio davvero e conserverò l'esempio da te proposto ma, detto tra di noi, mi trovo davvero a mio agio con un caro, vecchio, ciclo for.

    Ciao
    ok, personale punto di vista, al di là della familiarità del codice, non ha senso usare jQuery (e obbligare l'utente a scaricarselo) se poi non lo sfrutti appieno.

    Perchè scrivere (e mantenere) 10 righe se ne puoi scrivere (e mantenere) 3?
    Perché accedere via jQuery a ciascuna riga (dentro il ciclo) quando un selettore mi ritorna subito la collection su cui iterare?
    Perché usare un if preventivo per controllare se le righe sono maggiori di 1?



    Se jQuery lo usi solo per la funzione $ e poco altro allora tanto vale crearsi una propria libreria con le sole funzionalità che ti servono come consigliato in questo articolo
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti dò ragione, naturalmente.
    Ho posto il quesito proprio per migliorare l'uso di jquery, di cui non ho molta confidenza.

    Ciao
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.