jQuery 如果不为空则显示元素
jQuery show element if not empty
我有以下 jQuery 代码:
var agencyToolbar = $('#agency-header-toolbar');
if ($(":not(:empty)", agencyToolbar)) {
agencyToolbar.show();
}
上面的代码有效,但我不确定它是否是使用 jQuery 选择器的正确方法。
假设你要select#agency-header-toolbar
里面不为空。使用起来更简单
var agencyToolbar = $("#agency-header-toolbar:not(:empty)");
agencyToolbar.show();
您的代码将始终触发 show
,因为 $(":not(:empty)", agencyToolbar)
创建一个 jQuery 对象,该对象永远不会 null
,因此始终是 "truthy"。
您想使用 is
(returns 布尔结果),例如
if (agencyToolbar.is(':not(:empty))')){
或使用像
这样的单一选择器
$("#agency-header-toolbar:not(:empty)").show();
如果你需要它快一点,先做id选择器作为它自己的操作,然后用not()
过滤它
$("#agency-header-toolbar").not(":empty").show();
我有以下 jQuery 代码:
var agencyToolbar = $('#agency-header-toolbar');
if ($(":not(:empty)", agencyToolbar)) {
agencyToolbar.show();
}
上面的代码有效,但我不确定它是否是使用 jQuery 选择器的正确方法。
假设你要select#agency-header-toolbar
里面不为空。使用起来更简单
var agencyToolbar = $("#agency-header-toolbar:not(:empty)");
agencyToolbar.show();
您的代码将始终触发 show
,因为 $(":not(:empty)", agencyToolbar)
创建一个 jQuery 对象,该对象永远不会 null
,因此始终是 "truthy"。
您想使用 is
(returns 布尔结果),例如
if (agencyToolbar.is(':not(:empty))')){
或使用像
这样的单一选择器$("#agency-header-toolbar:not(:empty)").show();
如果你需要它快一点,先做id选择器作为它自己的操作,然后用not()
$("#agency-header-toolbar").not(":empty").show();