javascript - 如何向包含黑名单单词的元素添加类

标签 javascript regex blacklist

我想向包含黑名单单词之一的 HTML 元素添加一个类。

例如,我的黑名单由“坏”和“丑”组成,我想将类添加到它们的范围中:

<div id="main">
    <span>This is good.</span>
    <span class="black">Bad things happen sometimes.</span>
    <span class="black">This is bad.</span>
    <span class="black">And this is ugly.</span>
</div>

<a onclick="blacklisterFunction();">Add Class</a>

blacklisterFunction() 应该是什么样子?该函数是否应该抓取每个黑名单单词的主div,或者是否有更有效的方法。

最佳答案

使用 jQuery:

$('#clickme').click(function () {

    $('div span').each(function() {

        var badthings = ['bad', 'ugly', 'gross'];

        var x = 0;

        while (x <= (badthings.length - 1)) { 

            if ($(this).text().toLowerCase().search(badthings[x]) !== -1) {

                $(this).addClass('black');

            }

            x++;

        }

    });

});

jsfiddle:http://jsfiddle.net/DgpnQ/4/

关于javascript - 如何向包含黑名单单词的元素添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823739/

相关文章:

javascript - 如何在javascript中用两个数组创建json

javascript - 我如何使用 Lambda 函数以 JSON 进行响应

java - 正则表达式按空格拆分但忽略单词之间的空格

python - python/django 中的电子邮件白名单/黑名单

xpcom - 什么是白名单和黑名单数据?

shell - 如何通过SSH发送Shell命令而无需每次都打开新连接?

回调中全局引用的 Javascript 对象成员函数无法识别

php - 使用 Ajax 的 Json 编码 JavaScript 会抛出错误消息

regex - 使用 Perl,如何使用每个数组元素内的数字值对数组进行排序?

python 正则表达式仅保留以字母开头并以 [a-zA-Z0-9] 继续的单词