【问题标题】:How to check whether document.getElementById gives empty result? [duplicate]如何检查 document.getElementById 是否给出空结果? [复制]
【发布时间】:2018-01-31 18:07:16
【问题描述】:

使用document.getElementById 搜索一个或多个dom 元素时,返回一个带有typeof(node) -> "object" 的dom 元素。

如果没有找到查询的 dom 元素,则返回一个 null 对象,该对象也提供 typeof(node) -> "object"

caseOne = document.getElementById('contentSub')
   -> <div id="contentSub">
typeof(caseOne)
   -> "object"

caseTwo= document.getElementById('qwert')
   -> null
typeof(caseTwo)
   -> "object"

如何检查对document.getElementById 的调用是否成功,即是否返回了一个可以进一步处理的dom 元素?

【问题讨论】:

    标签: javascript jquery html dom undefined


    【解决方案1】:

    您可以通过方法document.getElementById的返回元素对象的简单评估条件来实现:

    if(document.getElementById('contentSub') != null){
         console.log("element exists");
    }
    else {
         console.log("element doesn't exist");
    }
    

    【讨论】:

      【解决方案2】:

      检查返回的object 是否不是undefined,只需使用!caseOne

      var caseOne = document.getElementById('contentSub')
      if(!caseOne){
          //It's undefined
      }
      

      【讨论】:

        【解决方案3】:

        要检查返回的值是否包含某些内容,您可以创建自己的方法,例如isEmpty()

        function isEmpty(value){
            return value === null || typeof(value) === 'undefined' || value === ''
        }
        

        此方法检查所有情况。

        【讨论】:

          猜你喜欢
          • 2013-05-09
          • 2014-04-13
          • 2013-03-28
          • 2017-07-12
          • 2014-02-11
          • 2020-04-09
          • 2016-04-14
          相关资源
          最近更新 更多