Удалить все элементы с классом, который содержит ..._ru | JS
Есть небольшой одностраничник. Нужно через js удалить все элементы с классом которые содержат ..._ru. Например есть список <ul><li>... именно оттуда нужно отыскать те эл. с классом. Но в дальнейшем понадобиться удалить те элементы, с указанным классом, во всей странице. Лучше уж показать тот пример, который чекает всю страницу и удаляет те классы (все равно стр маленькая, по оптимизации не ударит).
P.S: Пробовал через jquery, а именно функцию .each() и indexOf() отыскать, но индекс элемента некорректный, чтобы достучаться до него.
<ul>
<li class="service1_en">Washing</li>
<li class="service2_en">Cleaning</li>
<li class="service1_ru">Доставка</li>
<li class="service3_en">Cargo</li>
<li class="service2_ru">Сервировка</li>
</ul>
Ответы (2 шт):
$('li[class*="_ru"]').remove()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<ul>
<li class="service1_en">Washing</li>
<li class="service2_en">Cleaning</li>
<li class="service1_ru">Доставка</li>
<li class="service3_en">Cargo</li>
<li class="service2_ru">Сервировка</li>
</ul>
Использован данные по CSS селекторам, а именно звёздочка
https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
Можно использовать document.querySelectorAll. Селектор: [class$=_ru] Выбирает все элементы со значением атрибута class, заканчивающимся на «_ru». Можете ознакомится с некоторыми примерами селекторов здесь https://www.w3schools.com/cssref/trysel.php?
document.querySelectorAll("[class$=_ru]").forEach(e => {
e.remove()
})
<ul>
<li class="service1_en">Washing</li>
<li class="service2_en">Cleaning</li>
<li class="service1_ru">Доставка</li>
<li class="service3_en">Cargo</li>
<li class="service2_ru">Сервировка</li>
</ul>