删除或隐藏div,如果它是空的
我知道这应该很简单,但无法弄清楚。 这是代码。
如果“leftmenu”为空,我只需要删除“leftMenuWrapper”。 这是我一直在使用的。
$('#leftmenu').empty().remove('#leftMenuWrapper');
对不起,如果这是一个简单的问题。 星期一!
谢谢!
你可以这样做:
$('#leftmenu:empty').parent().remove();
这只选择#leftmenu
如果它是:empty
,然后只将.parent()
的.parent()
抓取到.remove()
。 如果它不为空,则第一个选择器将找不到任何内容,或者任何父项都不会被删除。
如果要删除它看起来是空的:
if ( $.trim( $('#leftmenu').text() ) == "") $('#leftMenuWrapper').remove();
jsFiddle示例
上面只是#leftmenu
的文本内容,并在检查是否存在任何内容之前修剪空白。
上面超过$(#leftmenu:empty)
的最大优点是上面的例子在以下情况中删除:empty
不会:
// The above code works in these cases where ":empty" does not:
// <== white space // <== empty elements
。修剪()
。文本()
。去掉()
请注意,以下内容更有效(但可读性较差):
var $elie = ('#leftmenu'); if ( $.trim( $elie.text() ) == "") $elie.parent().remove();
if(!$('#leftmenu').html()){ $('#leftmenu').parent().remove(); }