javascript - 查找空 DOM 元素并使用 Jquery/Javascript 删除它们

标签 javascript jquery html

我有三列,每一列都包含一个 DIV。这些 DIV 充满了数据,但偶尔会发生这些 DIV 为空的情况,在这种情况下,它们会搞砸我的布局。现在我想检查 DIV 是否填充了数据 (html),如果没有,则删除它们。我做了一些 if 语句,但我确信这可以做得更顺畅。

这是我的js代码:

if ($.trim($(".fcol1").html()) =='') {
   $(".fcol1").remove();
}

if($.trim($(".fcol2").html()) == '') {
   $(".fcol2").remove();
}

if($.trim($(".fcol3").html()) == '') {
   $(".fcol3").remove();
}

那么,有没有办法缩短这段代码呢?

最佳答案

如果它们确实是空的,您可以:

$(".fcol1:empty, .fcol2:empty, .fcol3:empty").remove();

...但是如果它们中甚至有一个空白文本节点,那将不起作用。你可以这样做:

$(".fcol1, .fcol2, .fcol3").filter(function() {
    return !$.trim(this.innerHTML);
}).remove();

请注意,您的原始代码仅检查与选择器匹配的第一个 元素,如果该元素为空,则删除所有 匹配元素,无论它们是否为空.例如,如果 first .fcol1 为空,则删除所有 .fcol1。 (也许你可能只有一个...)

关于javascript - 查找空 DOM 元素并使用 Jquery/Javascript 删除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32866889/

相关文章:

javascript - jquery中的函数序列

javascript - 第一次运行Jhipster应用报错

javascript - Sequelize - 如何仅返回数据库结果的 JSON 对象?

javascript - jquery getJSON() 函数(获取整个 json 对象)

javascript - jquery延迟函数与IF语句

jquery - 将输入插入到div jQuery中

JavaScript 和自执行函数

javascript - 如何在Xml子元素中选择和每个?

html - 子菜单保持关注页面变化 Angular 2

javascript - 如何强制从相机上传照片