2016-03-03 62 views
2

如何使用JS设计样式选项?假设我有这个:使用新选项和CSS样式

var optionElementReference = new Option([text, [value, [defaultSelected, [selected]]]]); 

我希望每个选项都有自己的背景颜色。第一个选项红色,第二个橙色,第三个黄色等。我该怎么做?

+3

由于某些浏览器允许在这些元素上设置一些样式规则,而另一些元素不允许这些元素,所以'option'元素的样式非常不可靠。如果你想这样做,你最好使用第三方插件来设计整个'select',比如Select2。 –

+0

通过'select'和leveraging'选项上的'.class'来更好地在CSS中而不是JS中设置样式:nth-​​child()'选择你想要的。否则,下面的Nikki基本上演示了一种完全在JS中完成的方法 - 您可以像设置任何其他元素上的样式一样设置'option'元素上的样式。 – abluejelly

+0

嗯,谢谢,很高兴知道 – JamAndJammies

回答

0

我不能告诉你这是如何跨浏览器,但它在铬测试与小提琴的工作。

document.getElementById("s1").options[0] = new Option("x",0); 
document.getElementById("s1").options[1] = new Option("y",1); 
var z = new Option("z",2); 
z.setAttribute("style","background-color:red"); 
document.getElementById("s1").options[2] = z;