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

前端之家收集整理的这篇文章主要介绍了确定/查找HTML DIV元素是否为空或未使用JavaScript前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

参见英文答案 > How to check if element has any children in Javascript?                                    8个
还有一篇文章可能已经回答了我的问题.为了找到帖子,我需要搜索子节点或子节点.但问题是,我当时不知道子节点或HTML子节点是什么.

这不是一个jQuery问题.

我的问题是:如何确定HTML元素是空的还是不使用?例如:

上述< div>元素没有内容.与此相反:

required maxlength="32"/> required maxlength="32"/>

我故意将元素留空,然后在用户单击菜单选项卡时将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将为空.

猜你在找的HTML相关文章