为什么我不能对此元素应用任何内容?

时间:2019-12-14 22:03:43

标签: javascript html css dom

因此,我正在为Rubik的立方体制作秒表。我有一个div元素(记录),该元素应显示单击按钮时我想输入的时间,但是我无法在此p上附加一个div元素,并且我也不能对其应用任何CSS。

在rubik.js中:

document.getElementById("records").appendChild(document.createElement("p").appendChild(document.createTextNode(`${formula.first}.${formula.second}.${formula.third}`)));

当我在此div上添加一个子段落时,它将成为text元素。 CSS中的div元素:

#records {
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(100% - 620px);
    height: 130px;
    border-top: 2px solid black;
    background-color: white !important;
    overflow-y: scroll;
}

两个按钮(添加当前时间删除上一次按钮)的positionfixed

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

Node.appendChild()方法返回附加的节点或文本节点。因此,此document.createElement("p").appendChild(document.createTextNode( $ {formula.first}。$ {formula.second}。$ {formula.third} ))返回附加文本节点,而不是p元素。

创建p元素,将其分配给变量,然后附加文本节点,并将p元素附加到#records

const formula = { first: '1', second: '2', third: '3' };

const p = document.createElement("p")

p.appendChild(document.createTextNode(`${formula.first}.${formula.second}.${formula.third}`))

document.getElementById("records").appendChild(p);
<div id="records"></div>