javascript document.getElementById不起作用

时间:2011-03-08 15:04:20

标签: javascript

以下是我的javascript程序。我正在尝试获取父div标签的所有子标签,但是当我运行程序document.getElementById('abc')时返回null。

function init(){
//               currentDiv = document.getElementById("intro");
                alert("working");
                count = 0;
                divs = document.getElementById('abc').getElementsByTagName("div");

                alert("HI " + divs)
                currentDiv = divs[count];
                nextDiv = divs[count + 1]
                count = count + 1;
            }

window.onload = init();

以下是我的div标签定义:

<div id='abc'> 
<div></div>
</div>

感谢。

3 个答案:

答案 0 :(得分:9)

问题出在这一行:

window.onload = init();

您正在运行init并将返回值设置为window.onload的值。我的猜测是代码在DOM准备好之前执行,即在div存在之前执行。

请改为尝试:

window.onload = init;

答案 1 :(得分:0)

我建议你开始使用jQuery,然后你有更强大的工具来进行这种DOM搜索/遍历

答案 2 :(得分:0)

<body onload="init()">
    <div id='abc'> 
        <div></div>
    </div>
</body>

这可能解决了你的问题