Javascript 如何将列表项与数组中的值匹配
我有一个数组,它包含值[1,2]。 我还有一个html列表Javascript 如何将列表项与数组中的值匹配,javascript,jquery,html,arrays,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> 列出项目1 列出第2项 列出第3项 我需要遍历数组,如果数组中的值与列表中的ID匹配,则向列表项添加一个类 输出示例是 <ul> &l
<ul>
<li id="1">List Item 1</li>
<li id="2">List Item 2</li>
<li id="3">List Item 3</li>
</ul>
- 列出项目1
- 列出第2项
- 列出第3项
我需要遍历数组,如果数组中的值与列表中的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>
列表项目1
列表项目2
- 列出第3项
我有点迷路了,提前谢谢你 尝试使用将数组转换为“#1,#2”
,并将其作为选择器传递,然后向其添加类
var arr = [1,2]; // var arr = Express.completedSteps;
$($.map(arr,function(val,_){
return "#" + val;
}).join()).addClass('active');
尝试使用将数组转换为“#1,#2”
,并将其作为选择器传递,然后向其添加类
var arr = [1,2]; // var arr = Express.completedSteps;
$($.map(arr,function(val,_){
return "#" + val;
}).join()).addClass('active');
试一试
试一试
试试下面的方法
$(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" );
}
});
});
})
在这里尝试演示。
尝试以下内容
$(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" );
}
});
});
})
在这里尝试演示。
谢谢!我很难让它工作,虽然它对我来说完全有意义。我将数组设置为
var arr=$(Express.completedSteps)代码>包含值,例如“BillingDetails”、“ShippingDetails”
。处理字符串而不是整数时有什么区别吗?@TheEks what$(Express.completedSteps)
将返回。控制台日志显示[“AccountDetails”,“BillingAddress”]
@Mr_Green感谢您的更新。!希克斯:看一下格林先生的更新。@格林先生非常感谢你们两位!那是票。你能解释一下这种变化吗?是什么造成了这种变化?谢谢谢谢我很难让它工作,虽然它对我来说完全有意义。我将数组设置为var arr=$(Express.completedSteps)代码>包含值,例如“BillingDetails”、“ShippingDetails”
。处理字符串而不是整数时有什么区别吗?@TheEks what$(Express.completedSteps)
将返回。控制台日志显示[“AccountDetails”,“BillingAddress”]
@Mr_Green感谢您的更新。!希克斯:看一下格林先生的更新。@格林先生非常感谢你们两位!那是票。你能解释一下这种变化吗?是什么造成了这种变化?谢谢这将是真正有助于任何人寻找类,因为可能有多个页面上。真是太棒了!这将是真正有助于任何人寻找类,因为可能有多个页面上。真是太棒了!