Я пытаюсь создать JavaScript, на котором вы пишете сообщение, и на веб-сайте появляется время и сообщение. Функция, выполняющая это, - «renderMessage». Однако он включает изображение, которое вы можете щелкнуть, чтобы удалить это сообщение, а затем я хочу снова написать все остальные. Проблема в том, что я не знаю, как сохранить какой-то идентификатор, поэтому я знаю, какое изображение было нажато, поэтому я удаляю правильную позицию в массиве сообщений.Сохранение идентификатора для определенного элемента onclick
Код для renderMessage является:
function renderMessage(theMessage, theMessages){
var text = document.createTextNode(theMessage.getText());
var time = document.createTextNode(theMessage.getDate());
var div = document.getElementById("writeMessages");
div.appendChild(text);
div.appendChild(time);
var image = document.createElement('img');
image.src = 'img/deletePic.png';
div.appendChild(image);
div.appendChild(document.createElement('br'));
image.onclick = function(e){
theMessages.splice(); // This is where I don't know how to remove the correct one
removeAll(theMessages); // This removes all html code in the div and writes
// the array again (hopefully this time with the correct
// element removed from it)
};
}
Пожалуйста, извините мои знания начального уровня, но я не совсем понимаю, как я будет реализовывать это решение. Нужно ли делать ul в html-коде? Потому что я пытаюсь сделать все через js. Есть ли способ сделать список через js? – MaGi
Да, вы можете сделать это с помощью js. см. эту [скрипку] (http://jsfiddle.net/AG95u/1/). (Отредактировал скрипку). Сделайте улицу так же, как вы сделали div, и добавьте детей в эту улицу. –
Я не знаю, что я делаю неправильно или что, но «var message_id = this.parentNode.id;» кажется, всегда просто удаляет первый элемент в массиве для меня, когда я использую «theMessages.splice (message_id, 1);» так что я думаю, что я делаю что-то неправильно? – MaGi