Прежде всего: извините за этот ужасный код.Я абсолютный новичок, и это мой самый первый JS-код, и мне приходилось кодировать его под давлением времени (не очень хорошо).
Задача состояла в том, чтобы написать гостевую книгу.У меня есть функция, которая создает новый div для каждой записи и добавляет его к последней (эта часть работает хорошо).
var lastid = 2;
function eintragen() {
...
var divC = document.createElement('div');
var ident='item'+lastid;
divC.innerHTML = '<table id="'+ident+'" class="eintrag center">
<tr><td>Name:</td><td>'+name2+'</td></tr><tr>
<td>Email:</td><td>'+email2+'</td></tr>
<tr><td>Eintrag</td><td>'+nachricht2+'</td></tr>
<tr><td></td><td><button class="buttonklein"value="loeschen"
***onclick="loeschen('+ident+')"***
>Eintrag löschen</button></td></t></table><hr>';
**divC.setAttribute('id',ident);**
var add = document.getElementById('item1');
add.appendChild(divC);
lastid+=1;
...
}
Я попытался выделить соответствующую часть.Как вы можете видеть, я дважды передавал идентификатор divC, потому что после тестирования я выяснил, что он не работает в сегменте divC.innerHTML.
Каждая запись имеет собственный delete-Кнопка, которая должна - как вы уже догадались - удалить эту связанную запись. После нажатия кнопки запускается функция, но затем ничего не происходит.
function loeschen(itemid) {
var sitem = document.getElementById(itemid);
sitem.parentNode.removeChild(sitem);
}
Полагаю, что назначение идентификатора для divC не сработалов части «divC.innerHTML» также не работает назначение его в качестве параметра атрибуту «onclick».
Если я заменим itemid чем-то конкретным, например, 'item4' в функции loeschen, он удалит запись № 4, поэтому я предполагаю, что ошибка в части divc.innerHTML.
Вопрос: Где я ошибся?Что-то не так "или" "?Как я могу дать каждой кнопке текущий itemid?все работало нормально для других переменных, таких как имя или адрес электронной почты, поэтому я абсолютно ничего не понимаю.
Большое спасибо заранее и извините за мой плохой стиль.Я буду работать над этим в будущем.