如何检查jquery中是否存在任何子代

时间:2014-06-18 10:51:03

标签: javascript jquery

我有一个<div>,里面有几个孩子,一个接一个地被删除,我想检查里面的所有元素都被删除了。

我尝试使用if($('#data').html()=="")进行检查,但它无效,可能是因为有空格和制表符空格。

跟踪每个元素并进行检查可以完成,但我相信这个简单的任务会更糟糕,所以有没有简单的方法呢?

6 个答案:

答案 0 :(得分:7)

在我看来,

if($('#data').children().length > 0)是最好的解决方案 或更短if($('#data').children().length)

API

答案 1 :(得分:1)

尝试使用.find('*'),我们在其中传递*的原因是,.find()无法在没有参数的情况下调用.children()。但更好的选择是在这种情况下使用.children()

if($('#data').find('*').length) {
  //its empty
}

或者您可以使用:empty选择器,

if($('#data').is(':empty')) {

答案 2 :(得分:1)

您可以使用children()函数获取所有子元素 http://api.jquery.com/children/

并检查数组长度

if($('#data').children().length){
   //do smth
}

答案 3 :(得分:0)

if ($('#data').is(':empty')){
  //do something
}

if($.trim($("selector").html())=='')

查看更多:How do I check if an HTML element is empty using jQuery?

答案 4 :(得分:0)

在jquery中使用.children()来查找孩子是否存在

   if($('#data').children().length > 0) {


    }

答案 5 :(得分:0)

如果您的所有孩子都是某种元素,请尝试使用以下内容: $(&#39;数据&#39;)。children()。length == 0

请注意,空格和字符不被视为子项

您可以使用以下方法检查是否有文字内容: $(&#39;数据&#39;)。text()。length == 0

注意新行也是字符