jQuery显示元素(如果不为空)
我有以下jQuery代码:jQuery显示元素(如果不为空),jquery,jquery-selectors,Jquery,Jquery Selectors,我有以下jQuery代码: var agencyToolbar = $('#agency-header-toolbar'); if ($(":not(:empty)", agencyToolbar)) { agencyToolbar.show(); } 上面的代码可以工作,但我不确定使用jQuery选择器是否合适。假设您要选择不是空的#代理标题工具栏。它使用起来更简单 var agencyToolbar = $("#agency-header-toolbar:not(:empty)")
var agencyToolbar = $('#agency-header-toolbar');
if ($(":not(:empty)", agencyToolbar)) {
agencyToolbar.show();
}
上面的代码可以工作,但我不确定使用jQuery选择器是否合适。假设您要选择不是空的
#代理标题工具栏。它使用起来更简单
var agencyToolbar = $("#agency-header-toolbar:not(:empty)");
agencyToolbar.show();
您的代码将始终启动show
作为$(“:not(:empty)”,agencyToolbar
创建一个jQuery对象,该对象从不为null
,因此始终为“truthy”
您希望使用is
(返回布尔结果)如下
或者使用单个选择器,如
$("#agency-header-toolbar:not(:empty)").show();
如果您需要更快一点,请先将id选择器作为自己的操作来执行,然后使用not()
也许你想简单地问一下如果($(“#机构标题工具栏”){…
@zed:你的代码总是会导致“真实”。与原始代码相同的错误。你可能想添加。length==0
,就像$(“#机构标题工具栏”)。length==0
或!$(“#机构标题工具栏”)。length
。
$("#agency-header-toolbar:not(:empty)").show();
$("#agency-header-toolbar").not(":empty").show();