Я немного новичок в веб-разработке, поэтому я надеялся, что кто-то сможет ответить на этот вопрос для меня.Изменить InnerHTML на основе привязки нажмите
Я создаю прототип для «Веб-мессенджера», подобного Facebook-мессенджеру. У меня есть боковая панель, в которой я заполняю UL якорных тегов при загрузке окна и выглядит как this. Вот код для него
var toAdd = document.createDocumentFragment();
var newUL = document.createElement('ul');
newUL.id = 'menu-content';
newUL.className = 'menu-content collapse out';
for(var i = 0; i < 5; i++){
var newLI = document.createElement('li');
var newA = document.createElement('a');
newA.id = 'chat' + i;
newA.setAttribute('href', "#");
newA.innerHTML = "Chat" + (i + 1);
newLI.appendChild(newA);
newUL.appendChild(newLI);
}
toAdd.appendChild(newUL)
document.getElementById("menu-list").appendChild(toAdd);
У меня также есть Div в верхней части страницы, которая будет отображать некоторые подробности о текущем чате, но до поры до времени будет просто отобразить имя чата, так же, как на якорных бирках.
Теперь на основе другого StackOverflow опубликовать правильный способ, чтобы вызвать функцию JS из якорного тега
var c0 = document.getElementById("chat0");
//Set code to run when the link is clicked
// by assigning a function to "onclick"
c0.onclick = function(id) {
//Change Title Name here
//Do other stuff in the future
return false;
}
Однако я мог бы 20+ чатов на боковой панели в любое время, так что это походит на много повторяющегося кода для записи.
Есть ли лучший способ сделать это?
Спасибо за помощь! Я добавил 'newA.addEventListener ('click', chatClick)' внутри цикла создания, и я также добавил 'function chatClick() {console.log (" test ");}' в JS-файл, но когда я нажимаю на теги, ничего не отображается в консоли? Я что-то пропустил? –
Попробуйте добавить ', false' в конец' addEventListener', проверьте мое обновление. –