Выберите все элементы <p>, которые содержат только элемент <br>внутри - PullRequest
0 голосов
/ 18 октября 2018

У меня есть следующий HTML-код без контроля над ним:

<p>this is visible</p>

<p>&nbsp;</p>

<p></p>

<p>
<br>
</p>

Мне нужно скрыть все элементы p без текста внутри.До сих пор, используя этот скрипт, я удаляю все, кроме этого:

<p>
</br>
</p>

Это скрипт, который я использую:

   $("p").filter( function() {

      var html = $(this).html();

      if(html == '' || html == '&nbsp;' || html == '<br>')
          return true;

   }).addClass('emptyP');

1 Ответ

0 голосов
/ 18 октября 2018

Если вы хотите скрыть все p's без текста, вы можете использовать jQuery.text () следующим образом.

$("p").filter( function() {
  return !$(this).text().trim();
}).addClass('emptyP');
.emptyP {display:none}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>this is visible</p>
<p>&nbsp;</p>
<p></p>
<p><br/></p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...