rvi*_*hne 2 html javascript css css-selectors css3
如果给定的HTML元素为空,我如何在纯JavaScript(没有jQuery,没有库)中检查?我对"empty"的定义与CSS:empty伪类相同.因此,如果给定元素与:empty选择器匹配,那么我想知道它.
function isEmpty (el) {
if (!el.hasChildNodes()) return true;
for (var node = el.firstChild; node = node.nextSibling;) {
var type = node.nodeType;
if (type === 1 && !isEmpty(node) || // another element
type === 3 && node.nodeValue) { // text node
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
根据CSS规范,true如果给定元素没有非空子节点,则返回.期待已久的JSFiddle演示版.