检查元素是否包含内容

时间:2015-01-02 02:44:04

标签: javascript jquery

<p></p> // return true 

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

我想过使用jquery的contains(),但我认为在纯js中有更好的方法吗?

6 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您可以在普通JS中使用childNodeschildren。两者都返回包含元素子元素的类似数组的集合。两个集合都有length属性。

请注意,这两个属性都是实时集合。您可能希望将它们浅层复制到数组中。这是让所有身体的孩子得到的一个例子。

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

答案 2 :(得分:1)

我会使用旧的innerHTML来避免使用JQuery:

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

答案 3 :(得分:0)

假设您有一个标识为mydiv

的标记
<p id='mydiv'>Something</p>

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

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

可以检查它是否为空。

答案 4 :(得分:0)

类似的东西:

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

答案 5 :(得分:0)

以下代码中的检查功能将完成工作,您只需要调用它。我在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>