Сокрытие класса div, когда у дочернего div есть определенное имя класса - PullRequest
1 голос
/ 24 мая 2019

Что я обычно пытаюсь сделать, это определить, имеет ли наш продукт из Trustpilot Widget 0 отзывов, и если это так, показать другой виджет из Trustpilot, который показывает количество отзывов о нашем сервисе.

Прямо сейчас я застрял в попытке скрыть виджет, когда на странице найден div-класс с именем "tp-stars - 0".

Вот что я получил до сих пор

        $('.trustpilot-widget' ).ready(function() {
          if($('.tp-widget-stars').find('.tp-stars.tp-stars--0').length) {
            $('#tp-widget-wrapper').removeClass('visible');
          }
        });
  <div id="tp-widget-wrapper" class="tp-widget-wrapper visible">
      <div id="wrapper-company-stars" class="wrapper-company-stars">
        <!-- Stars -->
        <div id="tp-widget-stars" class="tp-widget-stars">
           <div class="">
             <div class="tp-stars tp-stars--0">
               <div style="position: relative; height: 0; width: 100%; 
                 padding: 0; padding-bottom: 18.326693227091635%;">
               </div>
            </div>
         </div>
      </div>
        <div class="tp-widget-readmore" id="numberOfReviews"><strong>No 
         reviews</strong>
        </div>
      </div>
  </div>

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Попробуйте использовать элемент each в элементе и использовать closest для получения родительского элемента.

    $('.tp-widget-stars').find('.tp-stars.tp-stars--0').each(function() {
       if ($(this).length) {
         $(this).closest('#tp-widget-wrapper').removeClass('visible');
       }
    });
0 голосов
/ 24 мая 2019

Начните с элемента и найдите родителя.

$('.tp-stars--0').parent('#tp-widget-wrapper').removeClass('visible');
...