随机十六进制颜色:在CSS中的元素之前

时间:2016-08-09 05:51:43

标签: javascript css

我正在努力提高我的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部分之前。

我很难过,我想做甚么可能吗?

1 个答案:

答案 0 :(得分:0)

你不能用jquery修改:before元素,因为它在技术上不是DOM的一部分。 肯定有一些替代方案,看看here for a more complete answer.