2012-06-13 12 views
19

Sto dinamicamente Aggiungere colonne in una tabella utilizzando document.createElement("th")Aggiungi l'evento onClick al document.createElement ("th")

var newTH = document.createElement('th'); 

C'è un modo per impostare un attributo onClick per questo modo un utente può eliminare il colonna cliccando sull'intestazione? Qualsiasi aiuto sarebbe grande. Se questo non è possibile, è possibile mettere qualcosa in

newTH.innerHTML 

per farlo funzionare?

risposta

39
var newTH = document.createElement('th'); 
newTH.innerHTML = 'Hello, World!'; 
newTH.onclick = function() { 
    this.parentElement.removeChild(this); 
}; 

var table = document.getElementById('content'); 
table.appendChild(newTH); 

esempio di lavoro: http://jsfiddle.net/23tBM/

È anche possibile nascondere con this.style.display = 'none'.

+0

questo rimuove con successo l'intestazione, qualsiasi idea su come rimuovere anche le celle sottostanti? –

+0

@daniellanger Che diventa più complicato. – trumank

+0

capito. grazie –

8
var newTH = document.createElement('th'); 
newTH.onclick = function() { 
     //Your code here 
} 
+0

grazie, questo crea l'evento! qualche idea su un modo semplice per nascondere quell'elemento all'interno della funzione? Non ha un ID o classe che lo rende un po 'difficile –

+0

@daniellanger Guarda la mia risposta. – trumank

2
var newTH = document.createElement('th'); 
newTH.addEventListener('click', function(){ 
    // delete the column here 
}); 
+0

Grazie Works Perfect A ++ –

Problemi correlati