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那么最好引导提问者提问关于标准,所以通过对问题的评论来实践,但如果可以的话,回答这个问题仍然是可以接受的。