0

我已经尝试过问这个问题,但显然我解释得不够清楚,所以让我们再试一次。

假设我有一些要检查的字符串变量。这个字符串可以由一些“花哨的 textarea”插件生成,来自 ajax 调用或者只是从一些所见即所得的编辑器中粘贴。无论如何,任务是编写一个函数来检查这个字符串是否为空。然而,虽然“空”是指这个字符串不包含任何实际内容,所以如果它包含一些像它这样的空标签,<p><span></span></p>它仍然被认为是空的。

另外,如果需要,我可以修改它的内容,所以我想删除空节点,但我不知道当我不对文档进行操作时该怎么做。如果我在文档上操作,我可以运行类似的东西:

$('*').each(function(index, item) {
    if($.trim($(item).text()) === "") {
        $(item).remove();
    }
});

所以问题是:我如何实现一个isEmpty(string) -> boolean忽略给定字符串中的空 html 标签的函数?

4

1 回答 1

2

您可以通过解析字符串来调整您的代码:

function isEmpty(str){
    return $.trim($('<div>'+str+'</div>').text()) === "";
}

如果您所拥有的内容不可解析为元素,则有必要将字符串放入 div 中,例如"<div></div><span></span>someText".

于 2013-10-25T07:01:01.563 回答