2017-10-06 73 views
1

我需要检查一个元素是否为空,如果另一个不是空的。如果该作品,但如何的第一部分,我检查#dynamicForm元素不是空¨如何检查一个元素是不是与jQuery的空?

这显然是行不通的,但我需要类似的东西?

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

[逻辑非运算符(https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Operators/Logical_Operators#Logical_NOT_(!)) –

+1

'x.is(':not(:empty)')'或'! x.is(':空')'? –

回答

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

注意不是运营商(!)在前面。

1

首先,你可以检查,如果所选元素是空的,否定它:

!$('#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')) 
相关问题