я не могу добавить тег ввода в тег td при нажатии на тег td (javascript + html) - PullRequest
1 голос
/ 02 мая 2020

у меня есть таблица classi c с тегами table, tr, th, td, и я хочу js добавить входной тег в тег td при нажатии на ячейку (<td> тег) в таблице. Здесь вы можете увидеть мой код, и я не могу понять, где ошибка:

var td = document.getElementsByTagName('td');
for (var i = 0; i < td.length; i++) {
  td[i].addEventListener('click', function () {
//    alert('i am working');
    var input=document.createElement('input');
    input.setAttribute('type','text');
    console.log(input);
    document.body.td[i].appendChild(input);
    console.log(td[i]);

1 Ответ

0 голосов
/ 02 мая 2020

Заменить document.body.td[i].appendChild(input); на this.appendChild(input);

var td = document.getElementsByTagName('td');
for (var i = 0; i < td.length; i++) {
  td[i].addEventListener('click', function() {
    var input = document.createElement('input');
    input.setAttribute('type', 'text');
    this.appendChild(input);
  })
}
td {
  border: 1px solid red;
}
<table>

  <tr>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
  </tr>


  <table>
...