未捕获的类型错误:无法将属性“innerHTML”设置为 null

Posted

技术标签:

【中文标题】未捕获的类型错误:无法将属性“innerHTML”设置为 null【英文标题】:Uncaught TypeError: Cannot set property 'innerHTML' of null 【发布时间】:2014-06-01 22:31:19 【问题描述】:

使用 Ajax... 我似乎无法弄清楚这里出了什么问题。错误发生在代码上:objUserID.innerHTML = username;。它认为变量 username 为空。 username 里面确实有数据,因为下面的代码证实了这一点:console.log("user: ["+username+"]"); 有人能弄清楚吗?

function actionBid(bidID,bidA,bidAction)
   var XMLHttpRequestObject = false;

   if (window.XMLHttpRequest)
   
      // code for IE7+, Firefox, Chrome, Opera, Safari
      XMLHttpRequestObject = new XMLHttpRequest();
   
   else if (window.ActiveXObject) 
   
      // code for IE6, IE5
      XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
   
   if(XMLHttpRequestObject)
    
      // ==== GET BID ====
      if (bidAction == "getbid")

      var objUserID = document.getElementById("curBidUser"+bidID); 
      var res = XMLHttpRequestObject.responseText;
      var username = res.substring(0,res.indexOf(','));
      console.log("user: ["+username+"]");
      objUserID.innerhtml = username;
      
   

【问题讨论】:

您能具体说明一下您的问题是什么吗? 可能没有,作为回应 你能提供你的 HTML 吗? 为什么在发送 AJAX 请求之前访问XMLHttpRequestObject.responseText 你甚至发出 Ajax 请求吗???好像你错过了很多代码。 【参考方案1】:

它认为变量 username 为空

错误。它告诉您它无法访问null 的属性innerHTML。换句话说,objUserID 为 null,您无法访问它的属性。

换句话说,你的元素不存在。

【讨论】:

你是对的,元素丢失了。谢谢【参考方案2】:

如果您遇到此问题,可能是因为您将脚本标签放在正文标签的顶部,然后再放置其他所有标签。您想将脚本标签放在正文标签的底部。

【讨论】:

【参考方案3】:

实际上这是使用以下代码检查加载问题。

setTimeout(function() 
  xYzFunction();    
, 3000 )

【讨论】:

这不是一个有效的解决方案,用户不会等待 3 秒!!!【参考方案4】:

表示找不到元素或对象。它不存在。

这是一个小提琴:http://jsfiddle.net/afzaal_ahmad_zeeshan/cF6Bh/

您可以看到,该代码有效。但是该元素不存在以供 javascript 处理。

确保该元素存在。您需要确保字符正常或类似的东西。

document.getElementById("objectId").innerHTML = "Text";

因此,对此的补救措施是,更改您传递给方法的 ID 参数。

【讨论】:

你是对的。缺少该元素。谢谢【参考方案5】:

其实这个错误也可能是像这样调用document.getElementById("#content-content").innerHTML=output;引起的

而不是这样

document.getElementById("content-content").innerHTML=output;

【讨论】:

以上是关于未捕获的类型错误:无法将属性“innerHTML”设置为 null的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的类型错误:无法读取 null 的属性“innerHTML”

无法将属性“innerHTML”设置为 null?

语法中的 innerHTML 错误不起作用;未捕获的 TypeError:无法设置 null 的属性(设置“innerHTML”)[重复]

未捕获的 DOMException:无法使用 JQuery 设置“innerHTML”属性

React Ref:未捕获的 TypeError:无法将属性“innerHTML”设置为 null

我收到未捕获的类型错误:无法将属性“onclick”设置为 null? [复制]