如何使用jquery检查元素是否为空?

时间:2017-10-06 00:07:06

标签: javascript jquery

我需要检查一个元素是否为空以及另一个元素是否为空。 if的第一部分有效,但我如何检查#dynamicForm元素是否为空?¨

这显然不起作用,但我需要类似的东西:

if ($("#formButton").is(':empty') && $("#dynamicForm").is(':notempty')) {
    //do stuff
}

2 个答案:

答案 0 :(得分:4)

if(!$("#dynamicForm").is(':empty')){
     // code here...
}

请注意前面的not运算符(!)。

答案 1 :(得分:2)

首先,您可以检查所选元素是否为空并取消它:

!$('#dynamicForm').is(':empty')

此外,您可以使用jquery选择器:not检查它是否为空:

$('#dynamicForm').is(':not(:empty)')

第三种方法是选择非空的所有元素并检查jquery集合的长度:

$('#dynamicForm').not(':empty').length

如果您需要在几个地方进行此检查,您可以将自己的功能添加到jQuery:

$.fn.notEmpty = function() {
  return !$(this).is(':empty')
}

你可以像这样使用它:

if($('#dynamicForm').notEmpty())

这并不是真的很干净,并且不符合jquery惯例。因此,更好地扩展选择器而不是扩展函数:

$.extend($.expr[':'],{
  notEmpty:function(c) {
    return !$(c).is(':empty');
  }
});

现在你可以非常简单地使用它:

if($('#dynamicForm').is(':notEmpty'))