javascript - 通过列表元素在循环中添加 css ::before
问题描述
我有一个无序列表,我想在 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 不是函数。
解决方案
如果您正在寻找更改 CSS 伪元素,您可以尝试类似下面的代码片段。
如果要更改特定元素的颜色:
const li = document.getElementsByTagName('li');
----LOOP through all li-----
li[i].style.color = randomColor;
const listItems = document.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 = "blue"
listItems[i].style.setProperty("--pseudo-backgroundcolor", 'blue');
}
li:before {
content: ' ';
display: block;
width: 50px;
height: 50px;
background: var(--pseudo-backgroundcolor);
}
<ul>
<li>list item 1</li>
<li>list item 2</li>
</ul>
推荐阅读
- java - 正确编码后登录按钮没有响应
- php - 当我在 Wordpress 中更改它时出现永久链接错误 404
- reactjs - React .map 每次更新时都会渲染整个数组并导致重复
- javascript - 嗨,我想创建一个表单,当有人选择一个选项时它会显示产品图片
- node-red - 节点红色功能等待 2 个输入
- jwt - 通过 Apache Knox 网关访问 Apache NIFI REST API (jwt)
- r - ggplot2 对象不是在修改时复制?
- python-3.x - 在噪声 (rand) fnc w fsolve 中找到根(ValueError:函数返回的数组在调用之间改变了大小)
- python - 如何正确填充缓冲区?
- python - 安装 PyTorch 后 conda list 返回运行时错误 Path not Found