繁体   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