Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как заставить скрипт удалять и присваивать class родителю?

Как заставить скрипт удалять и присваивать class родителю?


     19.02.2020    jquery, javascript    Общие вопросы, jQuery    834

вопрос
Добрый день!
Есть блок, который по умолчанию скрыт, когда в дочерином блоке есть текст, мы у родителя удаляем класс и присваиваем новый класс.
Написал код, который работает, но лишь в том случае, если родитель один.
Когда родителей несколько, скрипт не работает и не удаляет у основного родителя класс.
Исходник:

<div class="infonext_block input_remove">
  <span class="pp">Заголовок</span>
  <div class="1">
  	<div class="2">
  	  <div class="3">
       <div class="fr-element"><br/></div>
      </div>
    </div>
  </div>
</div>

$(document).ready(function(){
var text=$('.fr-element').text(); 
if(text==""){  
$('.fr-element').parent(".infonext_block").removeClass('input_remove');
$('.fr-element').parent(".infonext_block").addClass('acty');
}
});


Если убрать div-ы 1,2,3 скрипт работает.
Как заставить код обращаться к родителю который указан в срипте основным .infonext_block?

Ответил: LazyDev


$(document).ready(function() {
    if ($('.fr-element').text() == '') {  
        $('.fr-element').closest('.infonext_block').removeClass('input_remove').addClass('acty');
    }
});

3 комментария

dj-avtosh
PHP-developer

dj-avtosh - 19 февраля 2020 10:54 -

Здравствуйте. Вместо parent нужен closest.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

monach
Юзер

monach - 19 февраля 2020 11:30 -

dj-avtosh,
Срабатывает в обратку. Если блок пустой класс меняется, когда в нем текст ничего не происходит. Что поменять или добавить чтобы наоборот работало?

monach
Юзер

monach - 19 февраля 2020 11:40 -

Решил, нужно просто убрать .trim() == '' и все работает.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

 12.06.2014 never3d222  Общие вопросы
наверх