3 回答
TA贡献1804条经验 获得超8个赞
我想这就是你想要的:
(function () {
document.querySelector('#add').addEventListener('click', function () {
let input = document.querySelector('#text');
let list = document.querySelector('#list');
let item = document.createElement('li'); // create li node
let itemText = document.createTextNode(input.value); // create text node
item.appendChild(itemText); // append text node to li node
list.appendChild(item); // append li node to list
input.value = ""; // clear input
});
})();
<div>
<input id="text" type="text" />
<button id="add">Add</button>
</div>
但是,请在将来提出更具体的问题。我什至不知道您的问题是什么,因为您没有提供所有代码。此外,您问题的最后一句话根本没有告诉我任何有用的信息(..“我希望按钮正常工作,并通过单击按钮(带有输入的信息)在页面中显示元素”..)。
<ul id="list">
<li>example item</li>
</ul>
TA贡献1712条经验 获得超3个赞
过于简化了,但是嘿,它有效:
function AddLi(str)
{
var li = document.createElement('li');
li.appendChild(document.createTextNode(str))
li.innerHTML += ' <button onclick="this.parentNode.remove()">-</button>';
document.getElementById("out").appendChild(li);
}
<form>
<input type="text" name="userinput">
<input type="button" value="Add LI" onclick="AddLi(userinput.value)">
</form>
<span id="out"/>
TA贡献1779条经验 获得超6个赞
试试
function addBook(book) {
list.innerHTML +=
`<li>${esc(book.value)} <button onclick="del(this)">Del</button></li>`;
book.value = '';
}
function del(item) {
item.parentNode.remove();
}
function esc(s) {
return s.replace(/[&"<>]/g,c =>
({'&':"&",'"':""",'<': "<",'>':">"}[c]));
}
<ul id="list"></ul>
<input id="data" type="text" />
<button onclick="addBook(data)">Add</button>
添加回答
举报