![](/img/trans.png)
[英]Uncaught TypeError: Cannot set property 'innerHTML' of null
[英]Uncaught TypeError: Cannot set property 'innerHTML' of null
使用Ajax ......我似乎无法弄清楚这里有什么问题。 代码出错: objUserID.innerHTML = username; 。 它认为变量username是null。 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;
}
}
}
它认为变量username是null
假。 它告诉你它无法访问null
的属性innerHTML
。 换句话说, objUserID
为null,并且您无法访问它的属性。
换句话说,你的元素不存在。
如果您遇到此问题,可能是因为您已在其他所有内容之前将脚本标记放在body标记的顶部。 您希望将脚本标记放在body标记的底部。
这意味着找不到元素或对象。 它不存在。
这是一个小提琴: http : //jsfiddle.net/afzaal_ahmad_zeeshan/cF6Bh/
你可以看到代码有效。 但是该元素不适用于JavaScript。
确保元素存在。 要么你需要确保字符是正确的或类似的东西。
document.getElementById("objectId").innerHTML = "Text";
因此,解决这个问题的方法是,更改传递给方法的ID参数。
实际上这是一个加载问题检查与以下代码。
setTimeout(function(){
xYzFunction();
}, 3000 )
实际上这个错误也可以通过像这个document.getElementById("#content-content").innerHTML=output;
一样调用引起document.getElementById("#content-content").innerHTML=output;
而不是像这样
document.getElementById("content-content").innerHTML=output;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.