簡體   English   中英

檢查元素是否包含某些東西

[英]Check if element contain something within

<p></p> // return true 

<p>something</p> //return false

我考慮過使用jquery的contains(),但我認為在純js中有更好的方法嗎?

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

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

請注意,這兩個屬性都是實時集合。 您可能希望將它們淺復制到數組中。 這是讓所有孩子都得到身體的例子。

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

我將使用舊的innerHTML避免使用JQuery,如您所願:

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

假設您有一個ID為mydiv的標簽

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

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

要么

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

可以檢查它是否為空。

就像是:

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

下面代碼中的Check函數將完成此工作,您只需要調用它即可。 我在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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM