我有这个代码,当它被调用时,它会给我一个“类型错误”...有人能告诉我出了什么问题吗?我好像不明白出了什么问题。
document.getElementById('cblberrormsg'+curID).style.display = "block";
var res = ''+ response;
document.getElementById('cblberrormsg'+curID).innerHTML = res;谢谢。
发布于 2014-04-05 04:20:03
document.getElementById('cblberrormsg'+curID)正在返回null。这意味着具有该id的对象不存在。
最常见的原因是,您试图在页面的该部分被解析和加载之前过早地执行这行代码。您的代码必须位于相关的<script>标记中,或者您必须使用一个函数,该函数将等待执行脚本,直到页面加载完成。
但是,由于在本例中是使用变量构造id字符串,也可能是curID不是您认为的那样,或者超出了页面中可接受的值。
一旦您完全确定此代码在页面HTML加载之前不会被执行,那么我建议您像this一样对其进行检测
console.log("curID=" + curID);
console.log("document.getElementById('cblberrormsg'+curID)=" + document.getElementById('cblberrormsg'+curID);
document.getElementById('cblberrormsg'+curID).style.display = "block";
var res = ''+ response;
document.getElementById('cblberrormsg'+curID).innerHTML = res;发布于 2014-04-05 04:31:55
jfriend00是对的,你引用的对象不存在。
如果文档还没有加载,或者由于某种原因您没有正确设置curID,那么每次您得到的代码都会爆炸。
您可以通过稍微更改代码来测试这一点:
var foo = document.getElementById('cblberrormsg'+curID);
if(foo){
foo.style.display = "block";
// foo exists
// do whatever, yadayadayada
}https://stackoverflow.com/questions/22872253
复制相似问题