Разница метода append

114
30 августа 2021, 16:50

У меня есть код на jquery.

$('#messages').append($('<li>').text(`${data.username}: ${data.message}`));

Я хочу перейти на js.

const messages = document.getElementById('messages');
messages.append(document.getElementsByTagName('li').text(`${data.username}: ${data.message}`));

Я получаю ошибку

Uncaught TypeError: document.getElementsByTagName(...).text is not a function

Какая разница метода append в jquery и js? Что не так я сделал?

Answer 1
$('#messages').append($('<li>').text(`${data.username}: ${data.message}`));

Вы не совсем правильно перевели jquery в нативный js.

// $('<li>') Тут создается элемент, а не ищется в документе
// Поэтому нужно заменить getElementsByTagName на createElement
const messages = document.getElementById('messages');
const li = document.createElement('li');
// У обычных элементов нет функции text
li.innerText = `${data.username}: ${data.message}`
messages.append(li);
READ ALSO
Отключение элемента после прокрутки с помощью JS

Отключение элемента после прокрутки с помощью JS

Есть меню на сайте (<input type="checkbox" id="hmt" class="hidden-menu-ticker">) и изначально оно скрытоПользователь может открывать/заркывать меню нажатием кнопки

99
Как вернуться в начало цикла?

Как вернуться в начало цикла?

у меня есть код, меня интересует именно вот этот кусок:

114