参见英文答案 > How to check if element has any children in Javascript?????????????????????????????????????8个
还有一篇文章可能已经回答了我的问题.为了找到帖子,我需要搜索子节点或子节点.但问题是,我当时不知道子节点或HTML子节点是什么.
这不是一个jQuery问题.
我的问题是:如何确定HTML元素是空的还是不使用?例如:
上述< div>元素没有内容.与此相反:
我故意将元素留空,然后在用户单击菜单选项卡时将HTML注入其中.但是如果用户多次单击菜单项,我不想多次注入相同的HTML.为了避免这种情况,我希望代码确定元素是否已经注入了内容.我想使用Web API接口和JavaScript.使用.innerHTML添加内容
document.getElementById('UserRegistration').innerHTML=VariableWithRetreivedContent;
当用户单击“注册”菜单选项卡时,将运行一个函数.我已经尝试使用它来确定是否已添加内容,但它不起作用:
function goToRegistration(ElmtToGoTo,FileToGet) {
//Use getElementById to get info from the ElmtToGoTo DIV
// and put info into the el variable
var el = document.getElementById(ElmtToGoTo);
alert(el.value);
// If element is already filled quit
if (el.value === undefined || el.value === "")
{
/To Do: Quit Here
};
//To Do: Get content and put it into DIV element
};
我得到的是未定义DIV是否有任何内容.如何测试< div>元素已经注入了内容?
最佳答案
元素通常没有值属性,只有表单控件元素具有这样的属性(例如
input
elements).因此,对于div元素,.value将始终未定义.
您可以查看该元素有多少child nodes.如果没有,则元素为空:
if (el.childNodes.length === 0)
如果您只将Element节点视为“内容”,则可以使用.children:
if (el.children.length === 0)
.children是元素节点列表.如果您的元素仅包含文本,并且您不将其视为内容,则.children将为空.
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!