检查元素是否具有列表/数组中给出的类

use*_*695 2 html javascript jquery

我需要在列表的特定元素中添加"禁用"类.这些元素可以在数组中找到 - 或者类似的东西 - 不知道为此推荐什么.

HTLM:

<ul id=anything>
    <li><a href="javascript:;" class="re-icon re-deleted"></a> Text</li>
    <li><a href="javascript:;" class="re-icon re-bold"></a> Text</li>
    <li><a href="javascript:;" class="re-icon re-italic"></a> Text</li>
    <li><a href="javascript:;" class="re-icon re-table"></a> Text</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这应该成为这样:

<ul id=anything>
    <li><a href="javascript:;" class="re-icon re-deleted"></a> Text</li>
    <li><a href="javascript:;" class="re-icon re-bold disabled"></a> Text</li>
    <li><a href="javascript:;" class="re-icon re-italic"></a> Text</li>
    <li><a href="javascript:;" class="re-icon re-table disabled"></a> Text</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

JS:

var arr = ['re-bold', 're-table'];
$('#anything a').each(function() {
    if ( $(this).hasClass('anything of the array') ) { // Check if this element has a class, which is given in the array
        $(this).addClass('disabled');
});
Run Code Online (Sandbox Code Playgroud)

und*_*ned 6

您可以.手动或使用该Array.prototype.map方法向数组的元素添加.并加入数组的元素.然后filter方法将根据创建的选择器过滤匹配的元素:

var arr = ['.re-bold', '.re-table'];
$('#anything a').filter(arr.join()).addClass('disabled');
Run Code Online (Sandbox Code Playgroud)