Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как удалить ul не содержащие ни одного li ? (https://javascript.ru/forum/jquery/78682-kak-udalit-ul-ne-soderzhashhie-ni-odnogo-li.html)

ozoro 19.10.2019 08:50

Как удалить ul не содержащие ни одного li ?
 
Нужно удалить все ul не содержащие ни одного li.

Пробовал так:
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script>
 $(window).load(function(){ 
 $('ul:empty').remove(); 
 })
  </script>
</head>
<body>

<ul class="myClassMainUl">
	<li class="myClassMainLi">
		<ul>
			<li class="tpl">
				<a href="">Раздел 1</a>
			</li>
			<li class="tplParentRow">
				<a href="">Раздел 2</a>
					<ul class="tplInner">
					</ul>
			</li>	
			<li class="tplParentRow">
			<a href="">Раздел 3</a>
				<ul class="tplInner">
					<li class="tplParentRow">
						<a href="">Подраздел 3.1</a>
					</li>
				</ul>
			</li>
			<li class="tplParentRow">
				<a href="">Раздел 4</a>
					<ul class="tplInner">
					</ul>
			</li>
			<li class="tpl">
				<a href="">Раздел 5</a>
			</li>
		</ul>
	</li>
</ul>


</body>
</html>


Однако ничего не получилось.

laimas 19.10.2019 09:29

$('ul').filter(function() {
    return !this.textContent.trim()
}).remove()


:empty, это даже нет текста в элементе, а он есть у вас.

рони 19.10.2019 09:34

ozoro,
$(window).on('load', function(){
 $('ul').filter((i, a) => !a.children.length).remove();
 })

ozoro 19.10.2019 09:53

laimas,
рони,
Благодарю! В инспекторе удаляется в обоих вариантах, а можно ли удалить в исходном коде браузера?

рони 19.10.2019 09:59

Цитата:

Сообщение от ozoro
можно ли удалить в исходном коде браузера?

нет, это забота сервера!


Часовой пояс GMT +3, время: 18:15.