我有一个具有相同值的跨度。
echo "<span id='msgNotif1' class='badge' style='position:relative;right:5px;bottom:10px;'>".$number."</span>";
其中$ number有值。
和我的js代码是..
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var val = xmlhttp.responseText;
//alert(val);
document.getElementById("msgNotif1").innerHTML = val;
//document.getElementById("msgNotif2").innerHTML = val;
alert(val);
//document.getElementById("msgNotif3").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "some page", true);
xmlhttp.send();
问题是值仍然保留并且没有更改,尝试取消注释第一个警报将显示具有正确值的警报,但是当我尝试对其进行注释时,第二个警报从未执行,这给了我一个document.getelementbyid()的想法。 .innerhtml是不起作用的,已经使用了几个小时,任何帮助将不胜感激。提前致谢
您的错误消息Cannot set property 'innerHTML' of null"
表示:
document.getElementById("msgNotif1")
正在返回null
。发生这种情况的原因可能有几种:
id="msgNotif1"
。id="msgNotif1"
尚未加载。如果您<head>
在文档的该部分中执行代码,而不是在事件的结尾<body>
或响应DOMContentLoaded
事件,通常会发生这种情况。document.getElementById("msgNotif1")
在动态内容加载之前正在调用。id="msgNotif1"
。有关在不使用jQuery之类的框架的情况下加载当前页面后如何运行Javascript的一般性说明,请参见以下答案:纯JavaScript等效于jQuery的$ .ready()如何在页面/ dom准备就绪时调用函数为了它
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句