首次发布,对不起,如果我做错了。
当我尝试使用js创建新列表时,列表元素仅在DOM中显示[object HTMLLIElement]。我希望它创建一个新的项目符号,每次我按下按钮时都说“ Hello”。 它仅显示此https://gyazo.com/f441c11ce81d80ff14ba4e207c1a7e2d
这是我的代码。
FormsModule
HttpClientModule
答案 0 :(得分:3)
您必须使用 appendChild 而不是 innerHTML 。要在每次单击按钮时创建新的 li 元素,必须在函数内部创建该元素。
当内容为纯文本时,我还建议您使用 textContent 而不是 innerHTML 。
var bodyEl = document.querySelector("body");
var ulist = document.createElement("ul");
function bulletpoint(){
var bulletpointEl = document.createElement("li");
bulletpointEl.textContent = "hello"
ulist.appendChild(bulletpointEl);
bodyEl.appendChild(ulist);
}
<button onclick="bulletpoint()">New bulletpoint</button>
<a href="../index.html">back</a>
答案 1 :(得分:1)
问题是您正试图给innerHTML一个对象而不是一个字符串。 innerHTML接受字符串-https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML#Syntax
如果要将html元素附加到ulul,则需要使用与bodyEl相同的.appendChild()方法-
function bulletpoint(){
ulist.appendChild(bulletpointEl);
}
希望这会有所帮助!