document.getElementById()返回null

时间:2012-02-27 19:59:39

标签: javascript html ajax

我正在尝试创建一个动态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名称,那么它可以是什么?

也可能不是页面尚未加载,因为脚本仅在单击时以及页面加载完成时运行。

0 个答案:

没有答案