Во-первых, li
не класс - list-inline-item
. Во-вторых, вы не пытаетесь перебирать здесь массив $('li').each(function()...
, поскольку $('li')
- это не то, как вы получаете элемент. В-третьих, даже исправление l oop и добавление повторения (setInterval()
) не даст вам анимации, потому что вы только добавляете классы, а не удаляете их. В вашем примере, когда вы проверяете red
, вы только затем добавляете green
и получаете red green
в качестве результирующего класса. Суммируя все сказанное, можно сделать что-то вроде этого:
$(function() {
var myListElem = document.getElementsByClassName('list-inline-item');
setInterval(function(){
for(let i = 0; i < myListElem.length; i++){
let e = myListElem[i];
if($(e).hasClass("red")){
$(e).addClass('green');
$(e).removeClass('red');
}
else{
$(e).removeClass('green');
$(e).addClass('red');
}
}
}, 3000);
});
.red{
color:red;
}
.green{
color:green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="list-inline-mb-0 ">
<li class="list-inline-item header red">C </li>
<li class="list-inline-item header green">O</li>
<li class="list-inline-item header red">O</li>
<li class="list-inline-item header green">L</li>
</ul>