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