2010-12-20 85 views
3
1. <div id="div_Msg"> Test the div </div> 
2. <div id="div_Msg"> </div> 

第一種情況是div中有文本。在第二種情況下,沒有文字。如何使用javascript如何測試div是否包含文本。javascript測試div是否有文本

+3

ids不應該是一樣的 – hunter 2010-12-20 20:45:57

回答

7

如果您正在使用jQuery,你可以做這樣的:

if($.trim($('#div_Msg').text()) != "") { 
    // Code here 
} 

只需用普通的JavaScript,執行此操作:

if(document.getElementById("div_Msg").innerHTML.replace(/^\s*/, "").replace(/\s*$/, "") != "") { 
    // Code here 
} 

這兩種情況都會從字符串的開始和結尾處獲取文本和修剪空白,然後將其與空字符串進行比較。

+0

修剪是否真的有必要?這適用於我:if($('#div_Msg')。text()){} – 2012-09-22 20:08:18

+0

在此示例中,沒有文本的div在其中包含空格。修剪刪除空間。如果你確定不會有空白,那麼你不需要修剪。 – dontangg 2012-09-29 04:16:39

0

如果使用jQuery,你可以這樣做:

$.trim($('#div_Msg').text()); 

注:元素不能具有相同的id

+0

這是行不通的。 div中有一個空格,因此是下一個節點。至少在某些瀏覽器中。 – 2010-12-20 20:44:16

+0

添加修剪到 – zsalzbank 2010-12-20 20:45:30

+0

正如@Mark所說,在檢查一個空字符串之前,您需要'$ .trim()'那個值:'if($ .trim($('#div_Msg')。text()) (); =''){..' – Orbling 2010-12-20 20:46:00

相關問題