Показать сообщение отдельно
  #1 (permalink)  
Старый 14.12.2022, 21:53
Новичок на форуме
Отправить личное сообщение для maintpl Посмотреть профиль Найти все сообщения от maintpl
 
Регистрация: 14.11.2021
Сообщений: 6

Как добавить класс в цикле ?
Есть цикл списка ul li
Нужно всем li, в которых внутри нету тега span дать класс .hidden

<ul id="shipping_method" class="woocommerce-shipping-methods">
									<li>
						<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_flat_rate76" value="flat_rate:76" class="shipping_method" checked="checked"><label for="shipping_method_0_flat_rate76">Code 1 0,5 kg - 2 kg</label>					</li>
									<li>
						<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_flat_rate77" value="flat_rate:77" class="shipping_method"><label for="shipping_method_0_flat_rate77">Code 2 2 kg - 5 kg</label>					</li>
									<li>
						<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_flat_rate78" value="flat_rate:78" class="shipping_method"><label for="shipping_method_0_flat_rate78">Code 3 10kg</label>					</li>
									<li>
						<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_flat_rate79" value="flat_rate:79" class="shipping_method"><label for="shipping_method_0_flat_rate79">Code 4 15 kg</label>					</li>
									<li>
						<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_flat_rate80" value="flat_rate:80" class="shipping_method"><label for="shipping_method_0_flat_rate80">Code 5 20 kg</label>					</li>
									<li>
						<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_flat_rate81" value="flat_rate:81" class="shipping_method"><label for="shipping_method_0_flat_rate81">Code 6 25 kg: <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">CHF</span>367.00</bdi></span></label>					</li>
									<li>
						<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_flat_rate82" value="flat_rate:82" class="shipping_method"><label for="shipping_method_0_flat_rate82">Code 7 30 kg</label>					</li>
							</ul>


вот в таком виде собственно выводится список
нужно всем li дать класс, а вот предпоследнему не давать класс так, как там есть тег span


есть такое вот решение, но запихнув в js файл, оно не срабатывает
document.querySelectorAll('li')
  .forEach(li => li.classList.toggle('hidden', !li.querySelector('span')));
Ответить с цитированием