Есть html код, необходимо чтобы js удалял у всех найденных элементов определенный класс.
var st = document.getElementById('st');
st.classList.remove('st');
.st {
color: red;
}
<div class="block">
<div id="st" class="st">1</div>
</div>
<div class="block">
<div id="st" class="st">2</div>
</div>
<div class="block">
<div id="st" class="st">3</div>
</div>
Необходимо, чтобы класс удалился у всех элементов. Желательно сделать так, чтобы код был автономным и удалял класс если элементов станет 5.
var st = document.querySelectorAll('[id="st"]');
for (var i = 0; i < st.length; i++) {
st[i].classList.remove('st');
}
.st {
color: red;
}
<div class="block">
<div id="st" class="st">1</div>
</div>
<div class="block">
<div id="st" class="st">2</div>
</div>
<div class="block">
<div id="st" class="st">3</div>
</div>
Когда у элемента есть атрибут id, это значит, что на странице будет только один элемент с таким id. А метод document.getElementById(''); всегда возвращает только один элемент.
Для выборки нескольких элементов обычно используют метод document.querySelectorAll('');.
Как только выбрали все элементы, можно пройтись по ним циклом, и с помощью метода el.classList.remove(''); удалить нужный класс.
if($('.st').length==5) {
$('.block').each(function(){
$(this).children().removeClass('st');
});
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости