2012-01-26 70 views
1

我有一個列表。firefox下拉列表行爲

<select id="select"> 
    <option>one</option> 
    <option>two</option> 
    <option>three</option> 
    <option>four</option> 
    <option>five</option> 
</select> 

此行更改第一個選項的顏色。

document.getElementById("select").options[0].style.color = "red"; 

在IE 8中表現良好。在Firefox 9.0.1奇怪的事情發生。從下拉列表中看到的項目更改顏色。但是,一旦選擇了該項目,它將返回到其默認顏色。我已經在兩個瀏覽器中用jsfiddle驗證了這一點。您可以在這裏訪問這個小提琴http://jsfiddle.net/rvUCk/

任何人都可以解釋這種行爲的原因嗎?有沒有解決或解決這個問題?

+0

你打算做什麼?對我來說,它看起來像Firefox是正確的,IE瀏覽器是錯誤的。您正在更改下拉菜單中第一個選擇選項的顏色。如果要全部更改它們或選擇框顯示的內容,請對選擇元素進行設置。 – j08691

+0

我只需要其中一個選項爲紅色並保持紅色選中或不選。正如我所說IE有預期的行爲。我需要做什麼才能讓firefox得到相同的結果? – user1015711

+0

您是否清除瀏覽器緩存? – jwhat

回答

0

這是否符合您的需求。第一個元素總是紅色,其他元素是黑色的。經測試,在IE9,火狐和Chrome:

的JavaScript:

document.getElementById("select").options[0].style.color = "red"; 

CSS:

select { 
    color:red; 
} 
option { 
    color: black; 
} 

HTML:

<select id="select"> 
    <option>one</option> 
    <option>two</option> 
    <option>three</option> 
    <option>four</option> 
    <option>five</option> 
</select> 

演示:jsFiddle