为什么我会收到错误或"未捕获类型错误:无法设置属性< innerHTML'是吗?"。 这是我的代码
function ajax()
{
var pathxml;
var answer;
if (window.XMLHttpRequest) {
pathxml = new XMLHttpRequest();
}
else
{
pathxml = new ActiveXObject("Microsoft.XMLHTTP");
}
pathxml.onreadystatechange= function()
{
if (pathxml.readyState==4 && pathxml.status==200)
{
answer = pathxml.responseText;
document.getElementById("ans").innerHTML = answer;
}
}
pathxml.open("GET","books/ax",true);
pathxml.send();
}
答案 0 :(得分:0)
document.getELementById(“ans”)可能没有结果。首先调试。
答案 1 :(得分:0)
尝试以下代码:
document.getElementById("displayDiv").innerHTML = "EXPIRED";
<span id="displayDiv"></span>
答案 2 :(得分:0)
该元素似乎不存在或与任何已知对象都不匹配-这就是为什么返回NULL的原因。
Null表示缺少标识,表示变量指向无对象。在API中,通常在可以期望有对象但没有对象相关的地方检索null。
似乎是this question的副本。
我建议您按照此处所述调试“ ans”。
另一个原因可能是您在构建DOM之前正在运行代码。尝试在this帖子中提到的window.onload处理函数中运行代码。
在此方法中使用link,并在全局对象null中使用一个链接。
希望如此。
答案 3 :(得分:0)
有不同的可能原因,如所讨论的,只是想为可能与我的问题相同的人添加。
就我而言,我缺少一个如下所示的close div
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
</head>
<body>
<div> //I am an open div
<div id="hello"></div>
<script type ="text/javascript">
what();
function what(){
document.getElementById('hello').innerHTML = 'hi';
};
</script>
</body>
</html>
缺少div可能导致子对象到父对象或父子对象到子对象的横向混乱,因此当您尝试访问DOM中的元素时会导致错误
您可能还需要检查上一个问题,这里有很多不同的可能原因以及如何在此处解决问题:Cannot set property 'innerHTML' of null