如何使新的项目符号点显示字符串?

时间:2018-11-22 13:42:23

标签: javascript html

首次发布,对不起,如果我做错了。

当我尝试使用js创建新列表时,列表元素仅在DOM中显示[object HTMLLIElement]。我希望它创建一个新的项目符号,每次我按下按钮时都说“ Hello”。 它仅显示此https://gyazo.com/f441c11ce81d80ff14ba4e207c1a7e2d

这是我的代码。

FormsModule
HttpClientModule

2 个答案:

答案 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);
}

希望这会有所帮助!