Javascript appendChild对li元素不起作用

时间:2019-07-05 09:49:55

标签: javascript

我的JavaScript代码可以工作到最后append。我检查了警报消息。显示除最后一个警报以外的所有警报。因此,我认为问题出在最后一个append上。有人可以帮忙吗?

var node = document.createElement("li");
var d0 = document.createElement("div");

var d1 = document.createElement("div");
var L1 = document.createElement("label");

d1.append(L1);

L1.innerHTML = "datah[key]";


var d2 = document.createElement("div");
var L2 = document.createElement("label");
d2.append(L2);

L2.innerHTML = "datah1[key]";

console.log("test1");
d0.append(d1);
d0.append(d2);

node.append(d0);
console.log("test2");

document.getElementById("speclist").appendChild(node);
// The following alert doesn't get printed
console.log("test3");
<div>
  <ul id="speclist">

  </ul>
</div>

1 个答案:

答案 0 :(得分:0)

最后一个追加问题没有问题,因为您没有在任何html中包装“ test3”。要显示test3,则必须用node(li)包装。

var node = document.createElement("li");
var d0 = document.createElement("div");

var d1 = document.createElement("div");
var L1 = document.createElement("label");

d1.append(L1);

L1.innerHTML = "datah[key]";


var d2 = document.createElement("div");
var L2 = document.createElement("label");
d2.append(L2);

L2.innerHTML = "datah1[key]";

alert("test1");
d0.append(d1);
d0.append(d2);

node.append(d0);
alert("test2");

//document.getElementById("speclist").appendChild(node);
// The following alert doesn't get printed
alert("test3");

  node.appendChild(document.createTextNode("test3"));
  document.getElementById("speclist").appendChild(node);
<div>
  <ul id="speclist">

  </ul>
</div>

还有另一件事,当我运行您的代码时,它向我显示了3个警报test1,test2和test3。