我正在尝试创建一个动态div加载器,根据用户点击的内容将不同的内容加载到div中。这是调用函数的地方:
<li>
<a href="javascript:void(0)"
onclick="load('page.html','content');">Stuff</a>
</li>
这是运行的脚本
function ahah(url, target) {
document.getElementById(target).innerHTML = ' Fetching data...';
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req != undefined) {
req.onreadystatechange = function() {
ahahDone(url, target);
};
req.open("GET", url, true);
req.send("");
}
}
function ahahDone(url, target) {
if (req.readyState == 4) { // only if req is "loaded"
if (req.status == 200) { // only if "OK"
document.getElementById(target).innerHTML = req.responseText;
} else {
document.getElementById(target).innerHTML
= " AHAH Error:\n" + req.status + "\n" + req.statusText;
}
}
}
function load(name, div) {
ahah(name, div);
return false;
}
问题发生在第一个document.getElementById()
,我通过调试器运行它,所以我知道目标正在获取正确的div名称,那么它可以是什么?
也可能不是页面尚未加载,因为脚本仅在单击时以及页面加载完成时运行。