当前位置: 首页 > 面试题库 >

在选择框中更改所选选项的文本颜色

乐城
2023-03-14
问题内容

我有一个选择框。通过已引用的CSS文件,已使用不同的颜色来设置选项的样式。我希望能够选择一个选项,然后将关闭的选择框的文本颜色更改为所选选项的颜色。

<select id="mySelect" class="yellowText">
    <option class="greenText" value="apple" >Apple</option>
    <option class="redText" value="banana" >Banana</option>
    <option class="blueText" value="grape" >Grape</option>
</select>

因此,如果我选择“香蕉”,则文本应从黄色变为红色。

我努力了:

onchange="this.style.color = this.options[this.selectedIndex].style.color;"

但这仅在我在html文档内的选项标签中定义样式时才有效。

我也尝试过JavaScript:

function setSelectColor(thisElement){
    var thisElem = document.getElementById(thisElement);
    var thisOption = thisElem.options[thisElem.selectedIndex];
    var newColor = getStyle(thisOption,"color");
    alert("New Color: "+ newColor);
}

但这总是返回颜色:白色。getStyle函数在我使用过的其他任何地方都可以使用,因此我不认为这是问题所在。

我从这个网站获得了getStyle:

function getStyle(oElm, strCssRule){
    var strValue = "";
    if(document.defaultView && document.defaultView.getComputedStyle){
        strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
    }
    else if(oElm.currentStyle){
        strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
            return p1.toUpperCase();
        });
        strValue = oElm.currentStyle[strCssRule];
    }
    return strValue;
}

如何使用JavaScript解决此问题?


问题答案:

尝试这个:

.greenText{ background-color:green; }



.blueText{ background-color:blue; }



.redText{ background-color:red; }


<select

    onchange="this.className=this.options[this.selectedIndex].className"

    class="greenText">

     <option class="greenText" value="apple" >Apple</option>

    <option class="redText"   value="banana" >Banana</option>

    <option class="blueText" value="grape" >Grape</option>

</select>


 类似资料:
  • 问题内容: 我正在尝试将第一个选项的颜色更改为灰色,即只有文本(选择一个选项),但是在这里无法正常工作: 问题答案: Suresh,您不需要在代码中使用任何内容。您需要的是这样的东西: 但是正如您所看到的,因为选项中的第一项是选择控件显示的第一件事,所以您看不到其分配的颜色。如果您打开选择列表并看到已打开的项目,则会看到可以为第一个选项分配灰色。因此,您需要jQuery中的其他功能。

  • 我有一个选择框,当选择框被单击并显示所有选项时,我正在尝试更改选项的背景颜色。

  • 我正在尝试在选择选项中更改选择的颜色。我试图这样做: 但它不起作用。这只适用于简单文本,不适用于选项。有什么方法可以改变选择的颜色吗?我不需要更改所选选项的背景。我需要改变选择的颜色。

  • 问题内容: 我有一个选择元素,其中包含多个项目。我想更改其第一项的颜色,但似乎仅在单击选择下拉菜单时才会显示颜色。我想要的是在加载页面时更改颜色(例如灰色),以便用户可以看到第一个选项的颜色是不同的。 CSS: HTML: 问题答案: 那这个呢:

  • 问题内容: 我有一个框,当单击框并显示所有选项时,我正在尝试更改选项的背景色。 HTML: CSS: 问题答案: 你需要把对标签,而不是标签… 如果要为每个标签设置样式,请使用css 选择器:

  • 问题内容: 在浏览器中选择文本时,大多数情况下选中的文本后面的背景会变为蓝色。如何将这种颜色更改为另一种颜色? 问题答案: 您正在寻找伪元素。 另外,作为旁注。如果你计划在所有使用文本的影子在你的网站,我建议将你的造型。正如你可以看到在这个小提琴,它的眼睛真的很辛苦。