Добавить событие onClick в document.createElement ("th")

20

Я динамически добавляю столбцы в таблицу, используя document.createElement("th")

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

Есть ли способ установить атрибут onClick для этого, чтобы пользователь мог удалить столбец, нажав на заголовок? Любая помощь будет большой. Если это невозможно, можно ли положить что-то в

newTH.innerHTML

, чтобы заставить его работать?     

задан daniel langer 13.06.2012 в 16:49
источник

3 ответа

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

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

Рабочий пример: Ссылка

Вы также можете просто скрыть this.style.display = 'none' .

    
ответ дан trumank 13.06.2012 в 16:58
источник
  • это успешно удаляет заголовок, любую идею, как также удалить ячейки под ним? –  daniel langer 13.06.2012 в 17:01
  • @daniellanger Это усложняется. –  trumank 13.06.2012 в 17:08
  • понял это. Спасибо –  daniel langer 13.06.2012 в 17:10
  • Можно ли каким-то образом добавить этот элемент? var html="мой динамический элемент" + newTH + "WOW!"; other_el.innerHTML = html; –  Qwerty 20.01.2014 в 01:01
8
var newTH = document.createElement('th');
newTH.onclick = function() {
      //Your code here
}
    
ответ дан Someth Victory 13.06.2012 в 16:50
источник
  • спасибо, что создает событие! любые идеи относительно простого способа скрыть этот элемент внутри функции? У него нет идентификатора или класса, что делает его немного сложнее –  daniel langer 13.06.2012 в 16:56
  • @ daniellanger Посмотрите на мой ответ. –  trumank 13.06.2012 в 17:01
4
var newTH = document.createElement('th');
newTH.addEventListener( 'click', function(){
  // delete the column here
} );
    
ответ дан Sirko 13.06.2012 в 16:52
источник
  • Спасибо, что работает Perfect A ++ –  Samrat Saha 02.05.2014 в 15:32