javascript - 将文本颜色限制为黑色

标签 javascript jquery css

我需要一种方法来限制用户使用某些颜色(出于可访问性目的)。我有一系列颜色:

var bannedColors = ['aqua', 'mediumseagreen', 'deepskyblue', 'mediumorchid', 'darkslategray', 'teal', 'mediumaquamarine', 'steelblue', 'indigo', 'slategrey', 'gold', 'darkorange', 'mediumvioletred', 'lightslategrey', 'orange', 'orangered', 'crimson', 'silver', 'black', 'yellowgreen', 'firebrick', 'mediumpurple', 'darkcyan', 'dodgerblue', 'greenyellow', 'brown', 'darkslateblue', 'lightseagreen', 'midnightblue'];

我试过做类似的事情:

if($.inArray($('.content').children().css('color'), bannedColors)) {
    $('.content').children().css('color', '');
}

但是好像不行。我想要/需要它来查看 div 及其所有子项的颜色。例如:

<div class="content">
    <p style="color: aqua">Here is some text with color...</p>
    <div class="inner-content">
        <p style="color: mediumseagreen">Another set of text with another color...</p>
    </div>
</div>

在我的禁用颜色列表中的这两种颜色应该被剥离并替换为黑色。任何建议将不胜感激。

最佳答案

您当前的代码仅适用于“.content”的第一个子项,您可以使用“each” 方法遍历所有子项,如下所示:

$('.content').find('*').each( function ()
{
    if ($.inArray($(this).css('color'), bannedColors)) {
        $(this).css('color', '');
    }
}

这将遍历所有 child 并检查和设置他们的 CSS 颜色。

关于javascript - 将文本颜色限制为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52932713/

相关文章:

javascript - 根据类(class)的可用性添加和删除类(class)

javascript - Firefox 上 Greasemonkey 脚本中 JavaScript 中的类型强制和字符串连接问题

javascript - 附加到div而不替换内容,只是添加到最后

HTML 宽度 100% 超出页面范围

javascript 按键获取数组值

javascript - 使用 JS 或 JQUERY 根据条件更改所有按钮类

javascript - 如何在新标签加载时使用 HTML DOM 事件?

javascript - jQuery 读取非空和可见的文本字段

html - 不 float 在同一条线上,如何修复 css

css - 水平和垂直居中对齐 DIV 网格