2013-10-25 77 views
0

我已經試着提出這個問題,但顯然我沒有解釋清楚,所以讓我們再試一次。檢查包含html的字符串是否實際爲空

比方說,我有一些字符串變量,我想檢查。這個字符串可以由一些「花哨的textarea」插件生成,來自ajax調用,或者只是從某些所見即所得的編輯器中粘貼。無論如何,任務是編寫一個函數來檢查這個字符串是否爲空。然而,儘管「空」我的意思是這個字符串不包含任何實際的內容,所以如果它包含像<p><span></span></p>這樣的空標籤,它仍然被認爲是空的。

此外,我可以修改它的內容,如果需要,所以我雖然關於刪除空的節點,但我不知道如何做到這一點,當我不操作文檔。如果我在文件操作我可以運行類似:

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

所以,問題是:我怎麼能實現的功能isEmpty(string) -> boolean會忽略在給定的字符串空的html標籤?

回答

2

您可以只用解析字符串調整代碼:

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

把字符串中的一個div,如果您有什麼是不能分析爲一個元素,例如"<div></div><span></span>someText"是必要的。

相關問題