<div id="imageState">
<img class="stamp worked" src="./IMG/已入职.svg"/>
<img class="stamp hired" src="./IMG/已录用.svg"/>
<img class="stamp commu" src="./IMG/沟通中.svg"/>
<img class="stamp out" src="./IMG/已淘汰.svg"/>
</div>
var stat=data[item].status;
var imgCls = 'c'+stat;
$('#imageState').attr('class', imgCls);
//var imgCls=$('#imageState').attr('class')
if(imgCls==='c0'){
$('.worked').show();
}else if(imgCls==='c1'){
$('.hired').show();
}else if(imgCls==='c2'){
$('.commu').show();
}else{
$('.out').show();
}
为什么这个实现不了效果?
Js写的有些多余! 仔细看看你定义的样式再结合你的html结构,当容器imageState的class被设定为 c0或c1或c2或c3时,相应的图片自然会展示出来(css决定的),其它的默认隐藏。
根本不需要画蛇添足的
if .... $('.xxx').show();
你唯一可能需要js做的是指定好imageState的class是什么。对应的Html结构
顺带说一句,上面的css样式可以简写成