o058oo
@o058oo
Кофе, код и рок-н-ролл!

Как скрыть/удалить дочерний элемент через js?

Суть такая: есть блок с блоками
<div class="list">
   <div class="line_2">
      <div class="title">1. Текст</div>
   </div>
   <div class="line_3">
      <div class="title">2. Текст 2</div>
   </div>
   <div class="line_2">
      <div class="title">1. Текст</div>
   </div>
   <div class="line_3">
      <div class="title">2. Текст 2</div>
   </div>
   <div class="line_2">
      <div class="title">1. Текст</div>
   </div>
   <div class="line_2">
      <div class="title">1. Текст</div>
   </div>
   <div class="line_2">
      <div class="title">1. Текст</div>
   </div>
   <div class="line_2">
      <div class="title">1. Текст</div>
   </div>
   <div class="line_2">
      <div class="title">1. Текст</div>
   </div>
   <div class="line_5">
      <div class="title">4. Текст 3</div>
   </div>
   <div class="line_5">
      <div class="title">4. Текст 3</div>
   </div>
</div>

Нужно оставить первое вхождение .title в блоках .line_2, .line_3, .line_4, а остальные скрыть или удалить.
На выходе должно получиться так:
<div class="list">
   <div class="line_2">
      <div class="title">1. Текст</div>
   </div>
   <div class="line_3">
      <div class="title">2. Текст 2</div>
   </div>
   <div class="line_2">
      
   </div>
   <div class="line_3">
      
   </div>
   <div class="line_2">
      
   </div>
   <div class="line_2">
      
   </div>
   <div class="line_2">
      
   </div>
   <div class="line_2">
      
   </div>
   <div class="line_2">
      
   </div>
   <div class="line_5">
      <div class="title">4. Текст 3</div>
   </div>
   <div class="line_5">
      
   </div>
</div>

Скрытие/удаление будет происходить сразу с загрузкой страницы, без кликов.
Блоки могут быть в разном порядке, поэтому :nth-child() тут не пойдет.
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
Ragtime_Kitty
@Ragtime_Kitty
Типа вот так должно быть?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sharomet
@sharomet
Front-End
Как-то так
$('.list > div').each(function() {
let ts = $(this);
if($('.list').find(ts.attr('class').length > 1) {
$(ts, '>div').remove();
} 
})
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы