如果任何Div是空的做某事

时间:2015-04-18 10:52:48

标签: javascript jquery html css

我有以下声明,检查ID为#Drop的任何Div是否为空,如果一个为空则显示警告。但是目前当任何div内容都包含在内时,该语句不再有效。

我想我想说的是我想要它,所以如果任何div为空则会出现警报。总共有4个Div,如果其中任何一个为空,则应显示警告消息,如果例如4个中的3个具有警报应该在有空div时触发的内容,则无关紧要。

HTML:

 <div id="Drop1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
   <div id="Drop2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
   <div id="Drop3" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
   <div id="Drop4" ondrop="drop(event)" ondragover="allowDrop(event)"></div> 

JS:

$("#run").click(function(){
    if ($("[id^='Drop']").html() === ""){
        alert("empty")// ...
    }
});

4 个答案:

答案 0 :(得分:5)

使用jQuery :empty选择器。详细了解:empty选择器。

  

描述:选择所有没有子元素的元素(包括文本   节点)。

检查DEMO

 $("#run").click(function(){
     if ($("[id^='Drop']:empty").length){
        alert("empty")// ...
     }
 }); 

第二种选择:正如我在评论和@A中提到的那样。沃尔夫  在回答评论中提到我添加第二个选项

DEMO

$("#run").click(function(){       
    if ($("[id^='Drop']").is(":empty")){
     alert("empty")// ...
    };
});

答案 1 :(得分:2)

$("#run").click(function(){
    if ($("[id^='Drop']").is(":empty")){
        alert("empty")// ...
    };
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="run">click</div>
<div id="Drop1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="Drop2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="Drop3" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="Drop4" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

答案 2 :(得分:1)

您也可以尝试这样的事情

$('div').each(function(index){
    if($(this).text() == ''){
        index=parseInt(index+1 ,10)
        alert('The div at '+index+' is empty')
    }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div id="Drop1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
   <div id="Drop2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
   <div id="Drop3" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
   <div id="Drop4" ondrop="drop(event)" ondragover="allowDrop(event)">text</div>

答案 3 :(得分:0)

试试这个,

for(i=0;i<=4;i++)
{
    if($("div#Drop"+i).length==0)
    {
        alert("DIV with id Drop"+i+"is empty");
        return false;
    }
}