我有以下声明,检查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")// ...
}
});
答案 0 :(得分:5)
使用jQuery :empty
选择器。详细了解:empty
选择器。
描述:选择所有没有子元素的元素(包括文本 节点)。
检查DEMO
$("#run").click(function(){
if ($("[id^='Drop']:empty").length){
alert("empty")// ...
}
});
第二种选择:正如我在评论和@A中提到的那样。沃尔夫 在回答评论中提到我添加第二个选项
$("#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;
}
}