2015-01-02 55 views

回答

1
return element.innerHTML.trim().length == 0; 
+0

如何jQuery的版本? –

+1

我不知道,但這是不必要的,因爲這在普通的JS中工作。 –

0

假設你已經有了與ID標籤mydiv

<p id='mydiv'>Something</p> 

if($('#mydiv').is(':empty')) 

if($('#mydiv:empty').length) 

可以檢查它是否是空的。

1

您可以在純JS中使用childNodeschildren。兩者都返回一個包含元素的子元素的類似數組的集合。這兩個集合都有一個length屬性。

請注意,這兩個屬性都是實時集合。你可能想將它們淺拷貝到一個數組中。這是一個讓所有的身體的孩子的例子。

var hasContent = Array.prototype.slice.call(document.body.children).length; 
0

是這樣的:剛

function hasSomething(id) { 
    var element = document.getElementById(id); 
    if (element && (element.innerHTML || '').trim()) 
     return true; 
    else 
     return false; 
} 
1

我會使用舊innerHTML來避免JQuery的像你想要的需要調用它。我在jquery和javscript中都附加了代碼。

HTML:

<p id="data">Some text</p> 

的Jquery:

<script> 
function check() 
{ 
    var len= $("#data").text().length; 
    if(len==0) 
     return true; 
    else 
     return false; 
} 

$(document).ready(function(){ 
    document.write(check()); // call check function 
}); 
</script> 

的Javascript:

<script> 
function check() { 
    var x = document.getElementById("data").innerHTML; 
    if(x.length==0) 
    return true; 
else 
    return false; 

} 
</script> 
+0

即使開始標籤和結束標籤之間只有空格,element.innerHTML也會評估爲true。我建議使用'element.innerHTML.trim()'或'element.innerHTML.length === 0'來執行檢查。 –

+0

按建議添加 –

+0

如果元素爲空,'element.innerHTML'已經返回'''',不需要'element.innerHTML || 「」'。另外,IE <9不支持'String.prototype.trim()',因此,出於兼容性的原因,使用'element.innerHTML.length === 0'是更好的選擇。 –

0

檢查功能在下面的代碼將做的工作,您:

var myTextField = document.getElementById('myText'); 
    if(myTextField.value != "") 
     alert("nothing") 
    else 
     alert("Would you please enter some text?")  
} 
+0

提示:如果你有一個'if'來決定是返回一個'true'還是'false',你可以直接返回'if'條件(否定它,如果你需要相反的話),比如'return len = == 0' –

+0

@ Morre-它是一個很好的提示,我會牢記這一點。謝謝。 – ganesh

+0

@莫雷 - 你抓到了我。現在我編輯了它。 – ganesh