2012-06-13 14 views
19

J'ajoute dynamiquement des colonnes à une table en utilisant document.createElement("th")Ajouter un événement onClick document.createElement (« e »)

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

est-il un moyen de définir un attribut onClick pour cette sorte qu'un utilisateur peut supprimer le colonne en cliquant sur l'en-tête? Toute aide est la bienvenue. Si cela n'est pas possible, est-il possible de mettre quelque chose dans

pour le faire fonctionner?

Répondre

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

Exemple de travail: http://jsfiddle.net/23tBM/

Vous pouvez aussi cacher avec this.style.display = 'none'.

+0

cela supprime avec succès l'en-tête, une idée de la façon de supprimer également les cellules en dessous? –

+0

@daniellanger Ça devient plus compliqué. – trumank

+0

l'a compris. merci –

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

merci, cela crée l'événement! des idées sur un moyen simple de cacher cet élément dans la fonction? Il n'a pas d'identifiant ou de classe ce qui le rend un peu difficile. –

+0

@daniellanger Regardez ma réponse. – trumank

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

Merci fonctionne parfait A ++ –

Questions connexes