2017-10-06 44 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')) 
相關問題