javascript - 检查字符串是否包含 ID,然后将Class 添加到所有匹配项

标签 javascript jquery

我需要检查是否有 <li>的 ID 与字符串 1001,1002,1003, 中给出的任何 ID 相匹配由 arrayList 输出在 for()循环。

var wishArray = $.parseJSON($.cookie('wishlist_cookie'));

var arrayList = '';
var li = $('ul li');
var str = li.attr('id');

for (i = 0; i < wishArray['itemlist'].length; i++) { 
    arrayList += wishArray['itemlist'][i].wishlist_item_id + ",";
    console.log(arrayList);
}

然后将Class添加到ALL <li>其中 ID 等于 1001,1002,1003, 中的任意一个

if (arrayList.indexOf(str) != -1) {
    if($('ul li').attr('id', idvalue)){
        $(this).addClass('found');
    }
}

我怎样才能让它检查所有<li> ID然后申请.addClass('found')致所有人 <li>arrayList 输出的 ID 匹配?

最佳答案

为什么不简单地像这样呢?

这里我们构建了一个 jQuery CSS 选择器,它将与列出的 id 之一匹配每个 li 让 jQuery 完成剩下的工作。

var lisSelector = wishArray['itemlist'].map(function (item) {
    return 'li[id="' + item.wishlist_item_id + '"]';
}).join(',');

$(lisSelector).addClass('found');

请注意,如果您不关心该元素是否为 <li>无论是否,您都可以简单地使用 '#' + item.wishlist_item_id 生成一个选择器.

关于javascript - 检查字符串是否包含 ID,然后将Class 添加到所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25307410/

相关文章:

javascript - Openlayers 如何仅在鼠标悬停时显示多边形,并在鼠标移出时隐藏?

javascript - 如何 JavaScript 向下舍入数字 - 继续

javascript - nwjs (node-webkit) 修改网站 javascript 和 css

javascript - 从javascript中的多维数组中获取所有变体

javascript - 将动态大小的 div 居中

javascript - d3.js - 多折线图不更新圆圈

php - 如何在javascript中显示目录的所有图像?

javascript - 在 Python 中访问 Jquery 键/值

javascript - 将对象数组随机拆分为两个相等的数组

javascript - 如何根据用户输入和算法更改背景颜色