Javascript 如果下一个div为空,如何删除上一个div?

Javascript 如果下一个div为空,如何删除上一个div?,javascript,jquery,Javascript,Jquery,我有下一个结构: <div class="holder"> <div class="item"> <img class="popup_btn"> <div class="popup_text>sometext_here</div> </div> <div class="item"> <img class="popup_btn"> <div clas

我有下一个结构:

<div class="holder">

  <div class="item">
    <img class="popup_btn">
    <div class="popup_text>sometext_here</div>
  </div>

  <div class="item">
    <img class="popup_btn">
    <div class="popup_text>sometext_here</div>
  </div>

  <div class="item">
    <img class="popup_btn">
    <div class="popup_text>sometext_here</div>
  </div>

  <div class="item">
    <img class="popup_btn">
    <div class="popup_text></div>
  </div>

  <div class="item">
    <img class="popup_btn">
    <div class="popup_text></div>
  </div>

</div>

这里有一些文字

这将解决您的问题:

$("div.popup_text").each(function () {
    var $el = $(this);
    if ($el.text() === "") {
        $el.siblings(".popup_btn").remove();
    }
});

您可以使用
:empty
选择器检索没有内容的元素。从那里,您可以遍历DOM以
remove()
所需的元素。试试这个:

$('.popup_text:empty').prev('.popup_btn').remove();
或者,假设您要删除
.item
容器:

$('.popup_text:empty').closest('.item').remove();

首先——您的标记是错误的,您在许多类名周围缺少了结尾引号

这里有一些普通的javaScript来做你想做的事情,不需要库

// select all the .item classes
var items = document.querySelectorAll('div.item');

// loop through them
for ( var i=0; i<items.length; i++ ) {
  // store the contents into variables
  var popup_text = items[i].querySelector('.popup_text'),
      popup_btn = items[i].querySelector('.popup_btn');

  // if the text length is 0, it's empty. remove the button img.
  if (popup_text.textContent.length === 0) {
    popup_btn.remove();
  }
}
//选择所有.item类
var items=document.querySelectorAll('div.item');
//循环通过它们

对于(var i=0;没有
弹出式按钮
弹出式按钮
img
元素上,你是说包含
.item
的div吗?发布一个代码尝试来提出一个有效的问题。没有代码尝试,也没有迹象表明他尝试了任何东西。@Kriggs那么最好引导提问者提问关于标准,所以通过对问题的评论来实践,但如果可以的话,回答这个问题仍然是可以接受的。