2011-02-13 70 views
3

當我使用Chrome的檢查元素功能來查看我編程設置所選的選項,選擇<option>不顯示selected="selected"一個<select>元素。一切工作正常,我只是不能在檢查員視圖中選擇了哪些選項。檢查元素沒有顯示所選選項

這是正確的行爲?似乎不僅應該在DOM的內部表示中更新所選元素,還應該將selected="selected"也添加到可視化表示中。

下面是使用幾種不同的方法來設置一個<option>selected屬性的示例: http://jsfiddle.net/ScTTY/

從本質上講,我使用此代碼的變化:

var current = new Date().getFullYear(); 
    var year1 = this.$("select.year1"); 
    for (var i=0; i<100; i++) { 
     var option = $("<option>",{ 
      value: current - i, 
      text: current - i, 
      selected: (i==17 ? "selected" : "") 
     }); 
     year1.append(option); 
    } 

但是,我用不同的方式的設置選項selected

 selected: (i==17 ? true : false) 

     if (i==17) option.attr("selected","selected"); 

     if (i==17) option[0].selected = true; 

     if (i==17) option[0].selected = "selected"; 

所有這些方法創建一個<select>包含1912年至2011年與1994年選定。

+0

也許你可以嘗試關閉並打開檢查窗口。 – JCOC611 2011-02-13 21:30:56

+0

@ JCOC611:沒什麼區別,至少對我來說在Chrome 9.0.597.102在OSX – Tauren 2011-02-13 21:37:50

回答

1

在元素選項卡中,您會看到右側的樣式屬性。樣式下抽屜是一個屬性抽屜。點擊選擇的選項,屬性將指示它被選中。

雖然這是一個很好的問題 - 我期望在HTML中看到它。我只能提供它在Firebug中的作用,所以它看起來是標準行爲。