如何将列表项与数组中的值进行匹配

时间:2014-08-06 05:05:37

标签: javascript jquery html arrays

我有一个数组,它包含值[1,2]。 我也有一个HTML列表

<ul>
<li id="1">List Item 1</li>
<li id="2">List Item 2</li>
<li id="3">List Item 3</li>
</ul>

我需要遍历数组,如果数组中的值与列表中的ID匹配,则向列表项添加一个类。

输出示例为

<ul>
<li id="1" class="active">List Item 1</li>
<li id="2" class="active">List Item 2</li>
<li id="3">List Item 3</li>
</ul>

我有点迷失在这一点上,提前谢谢!

3 个答案:

答案 0 :(得分:5)

尝试使用$.map()将数组转换为"#1,#2"并将其作为选择器传递,然后将类添加到其中,

var arr = [1,2];   // var arr = Express.completedSteps;

$($.map(arr,function(val,_){
  return "#" + val;
}).join()).addClass('active');

DEMO

答案 1 :(得分:1)

 var arr=[1,2];
 for(var i in arr){
   $("#"+arr[i]).addClass("active");
 }

DEMO

答案 2 :(得分:1)

试试以下内容。

 $(document).ready(function(){

 var obj = [1,2,5,7];  


        $.each( obj, function( key, value )
           {
               $('li').each(function(){

              if($(this).attr('id')==value)
              {
              $('#'+value).addClass( "active" );
              }
    });
});



})

在这里试试这个演示。 demo