Используйте jQuery для удаления <p>с пустым тегом <span> - PullRequest
1 голос
/ 29 ноября 2010

Я работаю над сборкой Wordpress, используя плагин Tubepress. Этот плагин вставляет нежелательный <p> над видеоконтентом. Я хочу удалить этот тег с помощью jQuery.

Вот код, который я хотел бы удалить:

<p><span id="more-76"></span></p>

Идентификатор диапазона генерируется автоматически и будет отличаться для каждой части содержимого. Этот код находится в следующем разделе.

<div class="work1alt">
   <p><span id="more-76"></span></p>
</div>

Заранее спасибо за помощь.

Ответы [ 4 ]

7 голосов
/ 29 ноября 2010

Вот так:

$('span:empty:only-child').parent('p').remove();

Это будет очень быстро, но не выберет <span> с пробелами в них.

1 голос
/ 29 ноября 2010

Первый, если условие проверяет, нет ли детей или контента, которому я верю.Второй проверяет, содержит ли span пустой текст и будет ли возвращаться только текст внутри span, но не его потомки.

Не такой элегантный и, вероятно, не такой быстрый, как решение slak, но очень явный.

 $('div.work1alt > p span').each(function(){
    if($.trim($(this).text()) === ""){
       $(this).parent().remove();
    }
 });

РЕДАКТИРОВАТЬ: забыл поставить '=== "" в ifs (doh!)

1 голос
/ 29 ноября 2010
$('div.work1alt').find('p span:empty').parent().remove();
0 голосов
/ 29 ноября 2010

зависит от того, что еще стоит на вашей странице. Может быть, вам стоит попробовать это вот так $('p').remove();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...