Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查字符串是否包含ID,然后将类添加到所有匹配项_Javascript_Jquery - Fatal编程技术网

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

Javascript 检查字符串是否包含ID,然后将类添加到所有匹配项,javascript,jquery,Javascript,Jquery,我需要检查任何的ID是否与for()循环中arrayList输出的字符串100110021003中给定的任何ID匹配 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++) { arra

我需要检查任何
  • 的ID是否与
    for()
    循环中
    arrayList
    输出的字符串
    100110021003
    中给定的任何ID匹配

    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);
    }
    

    如何使其检查所有
  • ID,然后将
    .addClass('found')
    应用于所有
  • 且与
    数组列表输出的ID匹配的
  • 变量li已经包含ID,并且在变量str中再次使用,您可以删除:

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

    为什么不干脆这样做呢

    这里我们构造了一个jQuery CSS选择器,它将每个li与列出的id之一匹配 让jQuery来完成其余的工作

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

    请注意,如果您不关心元素是否为
  • ,只需使用
    “#”+item.wishlist_item_id

    生成选择器即可

    $('#' + wishArray['itemlist'].join(', #') ).addClass('found');
    
    // would create 
    //$('#0001, #0002, #003').addClass('found');
    

    有问题吗?是否希望
    $('#'+idvalue).addClass('found')?那么您提到的代码中有什么问题?它不工作吗?我如何让它检查所有
  • ID,然后将
    .addClass('found')
    应用到所有
  • arrayList
    输出的ID匹配的
  • ?没有看到那个,抱歉:)@Nabil我很高兴能帮上忙@如果你给我指出同样的答案,我很乐意删除me@palx最终结果可能是一样的,但我不认为使用更简单的方法是无效的
    $('#' + wishArray['itemlist'].join(', #') ).addClass('found');
    
    // would create 
    //$('#0001, #0002, #003').addClass('found');