удалить теги p, если они окружают ссылку на изображение?

#jquery

#jquery

Вопрос:

Платформа, на которой я создаю веб-сайт, добавляет p теги вокруг ссылок на изображения в режиме wysiwyg, и это портит макет. Могу ли я в любом случае использовать jQuery для удаления p тегов, если они окружают изображение?

 <div class="post">
    <p><a href="link"><img src="image"></a></p>
    <p><a href="link"><img src="image"></a></p>
</div>
  

Ответ №1:

 $('p > a > img').parent().unwrap();
  

Пример: http://jsfiddle.net/6z4Sv /

Если есть какие-то изменения в иерархии внутри p элементов, вы можете сделать это:

 $('p img').closest('p > *').unwrap();
  

Пример: http://jsfiddle.net/6z4Sv/1 /

И вы можете использовать div.post в начале селектора, если хотите воздействовать только на p элементы, которые происходят из этого класса.

Вы можете сделать селектор более или менее конкретным по мере необходимости.

Комментарии:

1. @Амадан: Верно. Трудно сказать, должен ли селектор быть более или менее конкретным в реальной реализации.