Javascript 如何删除空标记jquery的父级
我将多个数据插入到html标记中。有些标签是空的,而有些则充满了细节。我想要的是如何删除空的父对象,这是我的代码 HTMLJavascript 如何删除空标记jquery的父级,javascript,html,jquery,Javascript,Html,Jquery,我将多个数据插入到html标记中。有些标签是空的,而有些则充满了细节。我想要的是如何删除空的父对象,这是我的代码 HTML <div class="row order-info"> <div class="col-12"> <h6 class="nameDiv">Hello this is nice</h6> </div> <div
<div class="row order-info">
<div class="col-12">
<h6 class="nameDiv">Hello this is nice</h6>
</div>
<div class="col-12">
<h6 class="proId"></h6>
</div>
<div class="col-12">
<h6 class="proP">testing. testing</h6>
</div>
</div>
你好,这很好
测试。测试
JQUERY
removeEmpty();
function removeEmpty() {
if($(".order-info div h6").text().length < 1) {
$(this).closest(".col-12").remove();
}
}
removempty();
函数removempty(){
if($(“.order info div h6”).text().length<1){
$(this).closed(“.col-12”).remove();
}
}
请问我做错了什么$('.order info.col-12')。has('h6:empty')。remove();
此代码将删除类
.col-12
中包含空h6
元素的元素。您没有使用css选择器进行迭代
尝试此功能:
function removeEmpty() {
$(".order-info div h6").each(function(elem){
if($(this).html().length < 1) {
$(this).closest(".col-12").remove();
}
})
}
函数removempty(){
$(“.order info div h6”)。每个(功能(元素){
if($(this.html().length<1){
$(this).closed(“.col-12”).remove();
}
})
}
您需要使用.each()
对它们进行迭代;您的代码将把所有文本合并成一个长字符串。您正在使用$(this)
。请尝试$(“.order info div h6”)。最接近('.col-12')。删除()。再详细说明一下:这个
指的是函数的作用域,而不是目标元素,这就是它不起作用的原因。@SachinSingh,它不会测试empty@SachinSingh它删除了所有的标记,所以当元素为空时,它不会工作将返回空白,该空白将传递您的条件语句。所有标记仍被删除。您指的是所有.col-12
标记?我在我的浏览器中运行了代码,它运行得很好。如果我可以问的话,你为什么接受另一个答案?你喜欢七行代码和一行简单的声明性代码上的手动循环吗?抱歉,我想添加这两行代码作为正确答案,但我只能选择一行,但在我的代码中,我使用了你的代码,因为它较短