2012-02-15 33 views
0

爲什麼這不適用於選擇的選項呢?如何在使用javascript和css的select中設置不透明度?

var x = document.getElementById(id); 
x.style.opacity = 0.4; 
x.style.filter = 'alpha(opacity=' + 40 + ')'; 

是否有任何其他方式來設置整個選擇的不透明度?

+3

天然形式的元素的CSS是一個爛攤子風格。恐怕設置選項的不透明度是不可能的。你可能應該使用jQuery或任何其他庫來尋找替代品。有很多可用的。 – 2012-02-15 11:42:55

+0

你能舉個例子嗎?我真的需要讓這些選項以某種方式隱形。 – 2012-02-15 11:47:34

+0

嘗試Eric Hynd的jQuery Multiselect:http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/ – Mark 2012-02-15 11:58:17

回答

0

可能會有所幫助。

HTML

<select name="test" id="test"> 
    <option value="test1">test1</option> 
    <option value="test2">test2</option> 
    <option value="test3">test3</option> 
</select> 

風格

.optioncolor { color:#999999; opacity:0.5; -moz-opacity:0.5; -webkit-opacity:0.5;} 

JQuery的

$("#test").find("option").eq(2).addClass("optioncolor"); 

它工作在Mozilla。但對於webkit你可以應用顏色變化,所以看起來很輕。沒有其他事情可以做。 :)

+0

謝謝...但不完全是我要找的:)謝謝 – 2012-02-15 12:59:24

0

在這裏你去哥們。

您可以添加一個類各構成要素或者只設置了所有的元素

HERES爲例

+0

是啊...我需要所有的選項來設置不透明度(http://jsfiddle.net/sHnA6/4/) – 2012-02-15 12:54:16

+0

我使用的是Firefox 9.0.1。你必須在CSS中爲ie和webkit設置不透明度設置,並確保在jquery中更改它們全部 – JackalopeZero 2012-02-15 12:58:38

+0

「只需在IE中設置過濾器/不透明度值是不夠的。事實證明,IE需要一個元素如果你的元素沒有位置,你可以通過在CSS中添加'zoom:1'來解決這個問題。「 - http://joseph.randomnetworks.com – JackalopeZero 2012-02-15 13:00:27