Удаление Родителя, если ребенок не содержит комментарий, используя Javascript - PullRequest
0 голосов
/ 28 марта 2020

Используя Jquery или Javascript,

Я хочу удалить div (.item), если нет комментариев

Структура div:

$('.item').css("display", "none");
$(function() {
  $('.two').contents().each(function() {
    if (this.nodeType == 8) {
      this.parent('.item').css("display", "inline-block");
    }
  })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="item">
  <a class="link">
    <div></div>
    <div class="two">
      <img>
      <!-- <div class="hidden-div"></div> -->
      <div></div>
    </div>
  </a>
</div>

Я сделал этот Jquery код, но есть проблема с ним

$('.item').css("display", "none");
  $(function () {
    $('.two').contents().each(function () {
      if (this.nodeType == 8) { 
        this.parent('.item').css("display", "inline-block");
      }
    })
  });

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

я сделал это используя этот код

elements = document.querySelectorAll('.two');
for (var i = 0; i < elements.length; i++) {
	var currentElement = elements[i];
	if (currentElement.childNodes.length < 7) {
		currentElement.parentElement.parentElement.remove();
	}
}
0 голосов
/ 28 марта 2020

Вы можете использовать так:

$('.item').contents().filter(function(){
  return this.nodeType == 8;
}) // returns contents with comment
.end() // back to .item
.css('display','none'); // set display to .item
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...