Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [javascript] cancellare tutto il contenuto di tbody

    salve,
    possiedo una tabella dichiarata in questo modo:
    <table style="border:1px solid #999999; margin-bottom:20px;" width="700" align="center" id="tabella" bgcolor="#FFFFFF">
    <tr>
    vari th
    </tr>
    <tbody id="tbodytabella"></tbody>
    </table>

    la tabella viene riempita dinamicamente con una richiesta asincrona(AJAX), ora volevo sapere se è possibile, alla successiva richiesta asincrona eliminare tutto il contenuto del tag tbody cioè tutti i TR precedentemente immessi...

  2. #2
    Una soluzione bruta potrebbe essere la seguente:

    codice:
    function svuota_tbody()
    {
       var collezione = document.getElementById('tbodytabella') // Se puoi, cerca di usare nomi più significativi, che descrivano il contenuto, non la forma
       collezione.innerHTML = ' '
    }
    Se invece vuoi descriverci più nel dettaglio il funzionamento di questa tua pagina magari potremmo studiare una soluzione più appropriata e ponderata.

  3. #3
    io non devo cancellare il contenuto ma devo cancellare i tr tipo removeChild,

    in pratica la tabella è impostata come scritto nel primo post, all'apertura della pagina viene attivata una funzione che ad ogni 30 secondi effettua una richiesta asincrona con ajax ed le righe vengono immesse dinamicamente nella tabella creando i vari tr, ora quando avviene la richiesta successiva devo eliminare le righe create precedentemente e inserire quelle nuove... quindi mi serve poter eliminare tutti i TR della tabella, non il contenuto proprio i tag...

  4. #4
    Assunto che i figli diretti di un tbody possono essere soltanto delle tr, attribuire un innerHTML vuoto o rimuovere le righe una ad una porta "allo stesso risultato visivo finale" (virgoletto in quanto a livello di DOM non è così).

    Se vuoi usare removeChild allora puoi fare così:

    codice:
    function svuota_tbody()
    {
       var collezione = document.getElementById('tbodytabella')
       var righe = collezione.getElementsByTagName('tr')
    
       for (var i = 0; i < righe.length; i++)
       {
          var riga_corrente = righe.item(i)
          collezione.removeChild(riga_corrente)
       }
    }
    Edit: perchè facendo delle prove con Firefox, noto che vengono cancellate solo le righe dispari? :master:

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.