2012-06-13 11 views
19

Mam dynamicznie dodanie kolumny do tabeli za pomocą document.createElement("th")Dodaj zdarzenie onClick do document.createElement („th”)

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

Czy istnieje sposób, aby ustawić atrybut onClick na to, więc użytkownik może usunąć kolumnę, klikając nagłówek? Każda pomoc byłaby świetna. Jeśli nie jest to możliwe, można włożyć coś w celu wykonania tej czynności?

Odpowiedz

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); 

przykład robocza: http://jsfiddle.net/23tBM/

Można też po prostu ukryć się this.style.display = 'none'.

+0

to skutecznie usuwa nagłówek, każdy pomysł, jak również usunąć komórki pod nim? –

+0

@daniellanger To staje się bardziej skomplikowane. – trumank

+0

to wymyśliłem. dziękuję –

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

dziękuję, że tworzy wydarzenie! wszelkie pomysły na prosty sposób na ukrycie tego elementu w ramach funkcji? Nie ma identyfikatora ani klasy, co czyni go nieco trudnym. –

+0

@daniellanger Spójrz na moją odpowiedź. – trumank

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

Dzięki Works Perfect A ++ –

Powiązane problemy