HTML
<ul class="logoUl">
<li class="orange"></li>
<li class="blue"></li>
<li class="green"></li>
<li class="pink"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
脚本
if (selectedCategory == 'currentAll') {
var strString = "orange,blue,green,pink";
var strArray = strString.split(',');
$.each(strArray, function (index, value) {
$("ul.logoUl > li").addClass(value)
});
}
Run Code Online (Sandbox Code Playgroud)
在ul.logoUL中有4个li,这使得图像成为可能
有时徽标会获得背景颜色,将颜色重置为灰色
目前我的代码确实没有重置颜色
题:
如何li在一次添加一个类的同时迭代一个类,希望通过类获得原始颜色方案?
var strString = "orange,blue,green,pink",
strArray = strString.split(',');
$("ul.logoUl > li").each(function (index, value) {
$(this).addClass(strArray[index]);
});
Run Code Online (Sandbox Code Playgroud)
var strString = "orange,blue,green,pink",
strArray = strString.split(',');
$("ul.logoUl > li").addClass(function (index) {
return strArray[index];
});
Run Code Online (Sandbox Code Playgroud)
当你改变class它们li以使它们background有时相似时,所以当你想再次给它们原始的颜色方案时,最好先删除先前分配的颜色class然后再分配原始class如下:
var strString = "orange,blue,green,pink",
strArray = strString.split(',');
$("ul.logoUl > li")
.removeClass() // first remove previous class
.addClass(function (index) { // then add new class
return strArray[index];
});
Run Code Online (Sandbox Code Playgroud)