Как добавить новый <li> в <ul> onclick с javascript
Как добавить элемент списка в существующую ul, используя функцию из onclick? Мне нужно это, чтобы добавить к этому типу списка...
<ul id="list">
<li id="element1">One</li>
<li id="element2">Two</li>
<li id="element3">Three</li>
</ul>
... другой элемент списка с идентификатором "element4" и текстом "Four" под этим. Я пробовал эту функцию, но она не работает...
function function1() {
var ul = document.getElementById("list");
var li = document.createElement("li");
li.appendChild(document.createTextNode("Element 4"));
}
Я не знаю JQuery, поэтому Javascript только пожалуйста. Спасибо!
Ответы
Ответ 1
Вы не добавили ваш li
в качестве дочернего элемента в элемент ul
Попробуйте это
function function1() {
var ul = document.getElementById("list");
var li = document.createElement("li");
li.appendChild(document.createTextNode("Four"));
ul.appendChild(li);
}
Если вам нужно установить id, вы можете сделать это с помощью
li.setAttribute("id", "element4");
Что превращает эту функцию в
function function1() {
var ul = document.getElementById("list");
var li = document.createElement("li");
li.appendChild(document.createTextNode("Four"));
li.setAttribute("id", "element4"); // added line
ul.appendChild(li);
alert(li.id);
}
Ответ 2
Вы были почти там:
Вам просто нужно добавить li
в ul
и вуаля!
Так просто добавьте
ul.appendChild(li);
до конца вашей функции.
Ответ 3
Сначала вам нужно создать li
(с идентификатором и значением по мере необходимости), а затем добавить его в ul
.
Javascript::
addAnother = function() {
var ul = document.getElementById("list");
var li = document.createElement("li");
var children = ul.children.length + 1
li.setAttribute("id", "element"+children)
li.appendChild(document.createTextNode("Element "+children));
ul.appendChild(li)
}
Отметьте этот пример, добавляющий элемент li
к ul
.