2009-07-13 60 views
2

是否可以通过CSS类来设置option标记的selected属性?通过CSS设置选定的选项?

我想知道如果像下面是可能的样式表:

option.selected { 
    selected: true; 
} 

然后在HTML:

<option class="selected"> 

这将作为设置selected属性相同的效果。这种技术可行吗?

回答

11

不,CSS只改变了表示,而不是内容(尽管CSS3确实支持对内容进行一些修改,但不支持值的选择)。如果不能直接修改HTML,则需要使用JavaScript。

+0

这是我怀疑,谢谢你的确认。 – 2009-07-13 21:07:32

1

如果你使用JQuery,那么你可以沿着这些线做非常多的事情,但不是自己的CSS。

2

不通过CSS,但它可以通过JavaScript来完成。

function setSelects() { 

    var allSelects = document.getElementsByTagName("select"); 
    for (var i = 0; i < allSelects.length; i++) { 
     for (var j = 0; j < allSelects[i].options.length; j++) { 
      if (allSelects[i].options[j].className == "selected") { 

       allSelects[i].selectedIndex = j; 
      } 
     } 
    } 
} 

window.onload = setSelects; 

正如其他人指出的,我不确定为什么你想通过CSS类来做到这一点。

2
option[selected] {background-color:skyblue;color:white;} 

如果你想显示上标明的选择 - 从用户的变化的影响无关显示结果后,选择的老留sykblue,新变化是darkblue。

0

是的,它是可能的,但我不知道IE

下面的代码将改变样式默认选中项目。

  <style> 
      option[selected="selected"] { 
      color:red; 
      font-weight:bold 
      } 
      </style> 

      <select> 
      <option value="1">Txt</option> 
      <option value="2" selected="selected">Another Txt</option> 
      </select> 
相关问题