【发布时间】:2021-10-09 02:15:17
【问题描述】:
我有一个无序列表,我想在 javascript 中模拟以下 css;
ul li:nth-child(6n+1) a:before { background: #81ecec; }
ul li:nth-child(6n+2) a:before { background: #ff7675; }
......
我正在尝试以下脚本,
const listItems = ul.getElementsByTagName('li');
// Loop through the NodeList object.
for (let i = 0; i <= listItems.length - 1; i++) {
listItems[i].setAttribute('data-text', listItems[i].innerText);
randomColour = setBg();
listItems[i].innerHTML.before('background:#' + randomColour);
listItems[i].color.innerHTML = "#" + randomColour;
}
但我收到一个错误,即 listItems[i].innerHTML.before 不是函数。
【问题讨论】:
-
before()方法与:before伪元素无关。它在另一个元素之前插入一个真实的 DOM 元素,它不设置 CSS。 -
before()方法甚至不存在于 innerHTML 中,它存在于元素上
标签: javascript css pseudo-element