Javascript 如何突出显示下拉菜单中的选项?
我有一个Javascript 如何突出显示下拉菜单中的选项?,javascript,jquery,html,Javascript,Jquery,Html,我有一个select,里面有一些值。每个值加载一个不同的网页 我希望默认值始终显示为“选择页面” 当用户单击下拉列表时,如何突出显示当前页面的选项 我所说的高光是指选择或改变背景颜色或其他东西 HTML: 选择一个页面 主站点 A. B 编辑:此选择是动态创建的。我只能在页面呈现您想要作为默认选项的选项后,使用java脚本编辑它 <option row="3" value="88617" selected="selected">B</option> B 为要作为默认
select
,里面有一些值。每个值加载一个不同的网页
我希望默认值始终显示为“选择页面”
当用户单击下拉列表时,如何突出显示当前页面的选项
我所说的高光是指选择或改变背景颜色或其他东西
HTML:
选择一个页面
主站点
A.
B
编辑:此选择是动态创建的。我只能在页面呈现您想要作为默认选项的选项后,使用java脚本编辑它
<option row="3" value="88617" selected="selected">B</option>
B
为要作为默认选项的选项设置selected=“selected”
<option row="3" value="88617" selected="selected">B</option>
B
选项
支持选择中的背景色。我只是设置了一个简单的类来突出显示它,如通过
您可以添加这样的类
$('current page selector').addClass('current');
您也可以使用css
函数手动设置它
$('current page selector').css('background-color', 'red');
您没有足够的信息,我无法帮助您确定如何查找当前页面。我建议使用某种方法从选项的值中判断,您可以将其与当前的窗口进行比较。位置选项
支持选择中的背景色。我只是设置了一个简单的类来突出显示它,如通过
您可以添加这样的类
$('current page selector').addClass('current');
您也可以使用css
函数手动设置它
$('current page selector').css('background-color', 'red');
您没有足够的信息,我无法帮助您确定如何查找当前页面。我建议您通过选项
的值与当前的窗口进行比较。位置
浏览器+操作系统对此的支持存在很大差异。以Chrome为例,该下拉列表在OS X上似乎不接受任何样式,但在Windows上,可以在样式表和内联样式属性中指定背景色:
<style type='text/css'>
.highlighted {
background-color: yellow;
}
</style>
<select name='whatever'>
<option value='1'>one</option>
<option value='2'>two</option>
<option value='3' style='background-color: green;'>three</option>
<option value='4' class='highlighted'>four</option>
</select>
.突出显示{
背景颜色:黄色;
}
一
二
三
四
同样,这两种方法都适用于windows,也不适用于OSX
如果您想要一个在任何地方都能工作的解决方案,您需要构建自己的下拉控件。浏览器+操作系统对此的支持有很多变化。以Chrome为例,该下拉列表在OS X上似乎不接受任何样式,但在Windows上,可以在样式表和内联样式属性中指定背景色:
<style type='text/css'>
.highlighted {
background-color: yellow;
}
</style>
<select name='whatever'>
<option value='1'>one</option>
<option value='2'>two</option>
<option value='3' style='background-color: green;'>three</option>
<option value='4' class='highlighted'>four</option>
</select>
.突出显示{
背景颜色:黄色;
}
一
二
三
四
同样,这两种方法都适用于windows,也不适用于OSX
如果您想要一个在任何地方都能工作的解决方案,您需要构建自己的下拉控件。如果您正在寻找jQuery解决方案,那么:eq()
和属性选择器将是您最好的选择。我做了一些事情:
首先使用:eq()
属性选择器
如下所示:
$('select option[row="1"]').css({"background":"red", "color":"yellow"});
如果您正在寻找jQuery解决方案,那么:eq()
和属性选择器将是您最好的选择。我做了一些事情:
首先使用:eq()
属性选择器
如下所示:
$('select option[row="1"]').css({"background":"red", "color":"yellow"});
到目前为止,您有哪些代码?使用所选属性??到目前为止您有哪些代码?使用所选属性???@svidgen有趣。这是OSX中的浏览器还是webkit?我只测试了FF、Chrome和Safari。我假设是任何使用OSX下拉控件的浏览器。@svidgen很有趣。这是OSX中的浏览器还是webkit?我只测试了FF、Chrome和Safari。我假设它是任何使用OSX下拉控件的浏览器。