在Chrome(版本45.0.2454.101 m)中,如果我将一个类添加到列表元素以更改其颜色,则仅在重新绘制窗口(调整大小)时更新项目符号颜色
$("#a").click(function() { $("#a").addClass('blue'); });
ul li { color: red; list-style-type: disc; margin-left: 2em; } .blue { color: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <ul> <li id="a">a</li> <li id="b">b</li> <li id="c">c</li> </ul>
解决方法
可能这是一个错误,但我不会依赖于标准的光盘元素.
你可以使用CSS :: before伪元素.它是更可配置的,完全在你的控制之下.
$("#a").click(function() { $("#a").addClass('blue'); });
ul li { color: red; list-style-type: none; margin-left: 2em; } ul li::before { content: "•"; } .blue { color: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <ul> <li id="a">a</li> <li id="b">b</li> <li id="c">c</li> </ul>