JQuery удалить конкретный элемент из div, который содержит определенный заголовок

0

У меня есть список div с тем же классом:

<div class="1">
  <a href="#">Hello</a>
  <p>Hello</p>
</div>
<div class="1">
  <a href="#">Welcome</a>
  <p>Hello</p>
</div>
...

Мне нужно удалить все divs, которые содержат ссылку с именем "Hello". Я только придумал это: $(".1").remove(":contains('Hello')"); Но он также удаляет divs, которые содержат текст Hello в своих тегах p.

  • 0
    Проверьте мой обновленный пост.
Теги:

1 ответ

0

Используйте .has() чтобы отфильтровать элементы, имеющие привязку с href hello. В основном он будет filter элемент, проверяя, имеет ли source element target element который был передан как parameter.

Пытаться,

$('.1').has('a[href="Hello"]').remove()

DEMO

У вас также есть некоторые недопустимые markups, вы просто пропустили closing angle brackets на каждом ярлыке anchor. Вот допустимая версия вашего HTML,

<div class="1">
   <a href="Hello">hello</a>
   <p>Hello</p>
</div>

<div id='test' class="1">
   <a href="Welcome">welcome</a>
   <p>Hello</p>
</div>

Основываясь на вашем комментарии в Arun Bro Post,

Пытаться,

$('.1').has('a:contains("Hello")').remove()

ДЕМО - I

  • 1
    Почему ОП должен попробовать это? Почему это решает проблему? Пожалуйста, объясните свое решение, а не просто отправьте код.
  • 0
    Спасибо! Это работает сейчас!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню