Задать вопрос
nabozhev
@nabozhev
WebMaster

Как проверить отсутствие элемента внутри DIV через Javascript?

Есть много div'ов с классом sign
внутри каждого такого блока есть 2 элемента с классами line-price и price-right
Теперь в некоторых таких блоках sign больше не будет элемента с классом line-price и нужно кое как изменить price-right. добавив к нему доп класс.
Отсюда задача:
Как через js внутри каждого такого блока sign проверить отсутствие элемента с классом line-price?
То есть необходимо написать условие "Если div sign НЕ содержит элемент с классом line-price, то добавляем к price-right класс 'alone'.
  • Вопрос задан
  • 1893 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 2
ruFelix
@ruFelix
Предсказание будущего по руке, таро, кофе.
А зачем JS? используйте плюс в css.

.sign .price-right {
 /** сработает всегда **/
}

.sign .line-price + .price-right {
 /** стиль для .sign.price-right сработает когда он не один, и переопределит предыдущие правило**/
}
Ответ написан
evgeniy8705
@evgeniy8705
Повелитель вселенной
var arr = document.querySelectorAll(".sign");

for (var i = 0; i < arr.length; i += 1) {
	var elem = arr[i].querySelector(".line-price");

	if (!arr[i].contains(elem)) {
		arr[i].querySelector(".price-right").classList.add("alone");
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
artemky
@artemky
Если надо на jQuery:
$('div.sign').each(function(){
	if( !$(this).find('.line-price').length ) $(this).find('.price-right').addClass('alone');
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы