我知道这应该很简单,但无法理解。这是代码。
<div class="cols lmenu_item1" id="leftMenuWrapper">
<div id="leftmenu"></div>
</div>
如果“leftmenu”为空,我只需要删除“leftMenuWrapper”。这是我一直在使用的。
$('#leftmenu').empty().remove('#leftMenuWrapper');
很抱歉,这是一个简单的问题。星期一!
谢谢!
答案 0 :(得分:23)
你可以这样做:
$('#leftmenu:empty').parent().remove();
这只会选择#leftmenu
,如果是:empty
,那么只会将的.parent()
抓取到.remove()
}。如果它不为空,则第一个选择器将找不到任何内容,或者任何父项都不能删除。
答案 1 :(得分:5)
如果要删除外观为空:
if ( $.trim( $('#leftmenu').text() ) == "")
$('#leftMenuWrapper').remove();
<强> jsFiddle example 强>
以上只是#leftmenu
的文本内容,并在检查是否存在任何内容之前修剪空白。
上述$(#leftmenu:empty)
的最大优点是,在:empty
不会出现以下情况时,上述内容将删除:
// The above code works in these cases where ":empty" does not:
<div id="leftmenu"> </div> // <== white space
<div id="leftmenu"><p></p></div> // <== empty elements
<强> .trim() 强>
的 .text() 强>
的 .remove() 强>
请注意,以下内容更有效(但可读性较差):
var $elie = ('#leftmenu');
if ( $.trim( $elie.text() ) == "")
$elie.parent().remove();
答案 2 :(得分:1)
if(!$('#leftmenu').html()){ $('#leftmenu').parent().remove(); }