2017-07-06 92 views
1

问题是我有.Prodotto的多个实例,但我想只将该类添加到空.Prodotto。我怎样才能指定空的'.Prodotto'?我的jQuery的尝试是这一个:仅向空元素添加类

if ($('.Prodotto').is(':empty')){ 
    $('.Prodotto').addClass('empty-content'); 
} 

回答

3

您可以直接使用:empty选择和删除if声明,就像这样:

$('.Prodotto:empty').addClass('empty-content'); 
+0

太棒了!谢谢 –

+0

在11分钟内我会接受你的答案..它现在不让我。 –

2

一般情况下,我认为你想做什么是

$('.Prodotto:empty').addClass('empty-content'); 

但是,当您说“Current .Prodotto”时,它意味着代码中有其他内容使其成为“当前”代码,就像点击它一样,如果所以你的代码是类似于现有的,但是使用了this

$('.Prodotto').on('click',function(){ 
    var $this = $(this); 
    if ($this.is(':empty')){ 
     $this.addClass('empty-content'); 
    } 
}); 
2

这可能是你在找什么:

$('.Prodotto').filter(':empty').addClass('empty-content'); 

或者更短:

$('.Prodotto:empty').addClass('empty-content'); 

在您的代码你首先测试是否有任何空的元素与类Prodotto,但然后你查询Prodotto第二次,并将其应用于所有人。

0

你的问题太含糊了,如果你提供更多的细节,但我认为你有一个点击事件的地方? 如果是这样的话,假设你有这样的:

$("body").on("click", ".Prodotto", function(){ 
    if($(this).is(":empty")){ 
      $(this).addClass("empty-content"); 
    } 
    }); 

希望这有助于!

+0

是的,我提出了我的问题有点不好...把“当前”放在描述中,也许我应该删除它..没有点击事件。 –