为什么会出现空对象的?原因是什么?

星辰炒饭
  • 231
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript"> 
    var item=document.getElementById("tb");      
    var tbody=item.getElementsByTagName("tbody")[0];//TypeError: null is not an object (evaluating 'item.getElementsByTagName')        
    var trs=tbody.getElementsByTagName("tr");
    for(var i=0; i<trs.length; i++){
        if(i%2==0){
            trs[i].style.backgroundColor="#888";
        }
    }
</script>
</head>

<body>
<table id="tb">
    <tbody>
        <tr><td>第一行</td><td>第一行</td></tr>
        <tr><td>第二行</td><td>第二行</td></tr>
        <tr><td>第三行</td><td>第三行</td></tr>
        <tr><td>第四行</td><td>第四行</td></tr>
        <tr><td>第五行</td><td>第五行</td></tr>
        <tr><td>第六行</td><td>第六行</td></tr>
    </tbody>
</table>
</body>
</html>
回复
阅读 1.1k
2 个回答

执行js的时候,还没有table,

window.onload = function() {
 var item=document.getElementById("tb");      
    var tbody=item.getElementsByTagName("tbody")[0] 
}

或者script放下面

<body>
    <div>
    </div>
    <script></script>
</body>        

代码执行顺序的问题。楼上正解。

你知道吗?

宣传栏