加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

确定/查找HTML DIV元素是否为空或未使用JavaScript

发布时间:2020-12-14 23:09:18 所属栏目:资源 来源:网络整理
导读:参见英文答案 How to check if element has any children in Javascript?????????????????????????????????????8个 还有一篇文章可能已经回答了我的问题.为了找到帖子,我需要搜索子节点或子节点.但问题是,我当时不知道子节点或HTML子节点是什么. 这不是一个j

参见英文答案 > 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将为空.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读