Я пытаюсь создать список имен из массива с помощью этого фрагмента скрипта.
const names = ["John", "Hanna", "Luis", "Halley", "Maive"]
const list = document.getElementById('my_list')
names.forEach((name) => {
let li = document.createElement("li")
li.innerHTML = name
list.appendChild(li)
})
и этот html
<ul id = "my_list"></ul>
но он не работает. Что я делаю не так?
Абсолютно рабочий код. Но вы должны использовать точку с запятой, чтобы закрыть операторы
@NickParsons, нет. Вот что меня беспокоит
@KwaneleSimelane, можете ли вы создать минимальный воспроизводимый пример, чтобы мы могли сами увидеть проблему? Вы можете использовать фрагмент кода, чтобы помочь. Если вы еще этого не сделали, вы можете использовать отладчик для пошагового выполнения кода. Также, возможно, стоит очистить кеш браузера, чтобы убедиться, что вы используете правильный файл JS.
Код хороший. Запустите его внутри window.onload = function () { ... }
в теге скрипта в голове, и вы должны его увидеть.
Большое спасибо @inorganik, это работает, когда я бегу внутрь window.onload
.
Ваш код работает нормально Я предлагаю вам немного другую реализацию с одним обновлением DOM.
const names = ["John", "Hanna", "Luis", "Halley", "Maive"]
window.onload = () => {
const list = document.getElementById('my_list')
list.innerHTML = names.map(name => `<li>${name}</li>`).join('')
}
<ul id = "my_list"></ul>
Кажется, у меня все работает нормально - есть ли какие-либо ошибки в консоли вашего браузера? Возможно ошибка Почему jQuery или метод DOM, такой как getElementById, не находит элемент?