我需要检查一个元素是否为空以及另一个元素是否为空。 if的第一部分有效,但我如何检查#dynamicForm
元素是否为空?¨
这显然不起作用,但我需要类似的东西:
if ($("#formButton").is(':empty') && $("#dynamicForm").is(':notempty')) {
//do stuff
}
答案 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'))