我正在努力提高我的Javascript知识,我正在努力。我有一个HTML列表。我希望每个元素的子弹点都是随机的十六进制颜色。
function generateColor() {
var hex = "";
var range = "abcdef0123456789";
for (var i = 0; i < 6; i++) {
hex += range.charAt(Math.floor(Math.random() * range.length));
}
$('li:before').css('color', '#' + hex);
}
$('li:before').on('keypress', function(event) {
if (event.keyCode == 32) {
generateColor();
}
});
generateColor();
ul {} li {
list-style: none;
}
li:before {
content: "■ ";
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
困境:我认为我不能改变List-Style元素的颜色周期。
通过在我的css中使用:before标签来查找“列表项”,我找到了解决方法...
通过这样做,我可以使用任何ASCII符号作为我的列表元素。
我在网上看了几个例子来改变颜色:我的李的方面:在风格之前。但是,我认为该函数不喜欢:在我的CSS部分之前。
我很难过,我想做甚么可能吗?
答案 0 :(得分:0)
你不能用jquery修改:before元素,因为它在技术上不是DOM的一部分。 肯定有一些替代方案,看看here for a more complete answer.