从选择选项更改字体颜色

Posted

技术标签:

【中文标题】从选择选项更改字体颜色【英文标题】:Change font color from select option 【发布时间】:2012-06-22 02:51:31 【问题描述】:

我正在编写一些代码,基本上我有一个表格。在该表单上是一个选择选项,我希望用户在其中选择字体颜色。 然后,我需要将该选项附加到页面上的元素,方法是添加他们选择作为 css 类的选项。需要现场直播。

所以像这样形成元素:

<select id="selectcolor" name="selectcolor" style="width: 200px;">
                        <option value="null">-- Select a Color ... --</option>
                        <option value="black">Black</option>
                        <option value="white">White</option>
                </select>

我做的JS是:

//select text color
    $("#selectcolor").change(function()
    var color = $(this).val();
    $(".selectcolor").css("color", 'color');

要应用更改的 html

<div class="rightBottom selectcolor">Change this text<br />color</div>

然后我打算在 css 中做:

.black color:#000;
.white color:#fff;

等等

基本上,当用户更改选择选项时,假设为黑色,class 属性将 div / span 元素上的文本颜色更改为黑色。等等

请有任何建议,我尝试添加选择选项值 color:#000 等但没有奏效,我猜我忽略了几个问题...

提前谢谢你

【问题讨论】:

【参考方案1】:
$('#selectcolor').change(function() 
    var color = this.value || '';
    $('.selectcolor').attr('class', function(i, classes) 
        var cls = classes.split(/[\s]/);
        cls[2] = color;
        return cls.join(' ');
    );
);

DEMO

【讨论】:

唯一的问题是,在 html 中它正在做:style="color: pink;"对于粉红色,在我的情况下,它不反映粉红色的 .css 类 .pink: #ec008c;有没有办法让它解析#value而不是颜色名称值? 移除了勾号,因为这添加了样式属性但没有实例化类,这是我们想要的。 如果你可以在 jsfiddle 上迭代它,不幸的是我不能让它像 reqd 一样工作。 谢谢您,将立即检查。并修改接受的答案。干杯【参考方案2】:

我认为这是因为您使用的是常量“颜色”而不是使用可变颜色。 换行:

 $(".selectcolor").css("color", 'color');

到:

$(".selectcolor").css("color", color)

【讨论】:

【参考方案3】:

我认为你需要改变

$(".selectcolor").css("color", 'color');

$(".selectcolor").css("color", color);

【讨论】:

【参考方案4】:

据我了解,您希望元素根据选定的选项值获得正确的类名;

所以,下面是我想到的解决方案:

<select id="selectcolor" name="selectcolor" style="width: 200px;">
     <option value="null">-- Select a Color ... --</option>
     <option value="000000">Black</option>
     <option value="ffffff">White</option>
</select>

$("#selectcolor").change(function()
    var color = $(this).val();
    $(".selectcolor").css('color', '#'+ color);

希望对您有所帮助。我没有测试代码,但其背后的想法是您将选项值设置为不带 # 符号的颜色代码,因此在第三行查询中会将 # 粘贴到字符串中。在 jQuery 中使用变量时要小心,不要用 \' 包围它,因为它会将其解释为静态文本。

【讨论】:

以上是关于从选择选项更改字体颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改 HTML 从 JavaScript 中选择标签字体颜色

如何更改Android Studio的代码字体和颜色

引导导航选项卡的字体颜色在活动状态下没有变化

c#怎么更改Label文字的颜色

cad里怎么更改字体颜色

如何更改cmd的背景