我不能用:
$('div:empty')
因为div中可能有空格.如果它没有任何东西或只有空格,我想删除它.
解决方法
这将返回除空格之外没有文本的所有div元素(或由
.trim
删除的其他字符,如新行字符):
var emptyDivs = $("div").filter(function() { return $.trim($(this).text()) === ""; });
更新 – 基于评论
如果所讨论的任何div元素具有不包含文本的子元素(例如,img元素),则上述方法将它们包含在“空”元素集中.要排除它们,您可以使用以下内容:
var emptyDivs = $("div").filter(function() { return $.trim($(this).text()) === "" && $(this).children().length === 0; });