【发布时间】:2020-02-13 18:29:35
【问题描述】:
我有以下列表:
<ul id="objects-list">
<li>Table</li>
<li>Chair</li>
<li>Window</li>
</ul>
使用以下 CSS(取自 https://www.w3schools.com/howto/howto_css_bullet_color.asp):
ul {
list-style: none;
}
ul li::before {
content: "\2022";
color: red;
font-weight: bold;
display: inline-block;
width: 1em;
}
这会将默认列表标记更改为红色。 一切正常,但是当我使用 Javascript 将新项目添加到列表中时
var objectsList = document.getElementById("objects-list");
var listItem = document.createElement("LI");
listItem.innerHTML = "Pen";
objectsList.appendChild(listItem );
它发生在我的 XHTML 文件中。它不会发生在 Stack Snippet 中。
该项目已正确添加到列表中,但根本没有标记。此外,当我在 Inspector 中检查新项目时,它根本没有显示 "::before" 元素。
谁能解释一下为什么?
【问题讨论】:
-
在我这边工作 - jsfiddle.net/luispa/r89yq3jd/1
-
我不能reproduce这个问题..?
-
I cannot replicate your issue. 你介意在问题中创建一个 stack-sn-p 来证明你的问题吗?
-
@LuísP.A.等。人。 - 它发生在 XHTML 中,而不是 HTML。
-
@ Maffe - 如果您使用 XHTML,我怀疑您是,请更新问题以说明这一点。 (不要误会,原本没想过这样做是可以理解的;只是事实证明它是相关的,所以在文本中添加标签和注释将对未来的访问者有所帮助。)
标签: javascript css css-selectors xhtml html-lists