自己做的js选项卡报错,无法获取未定义或 null 引用的属性“style”是什么原因

2024-11-02 20:24:35
推荐回答(3个)
回答1:





recursion

#pic {
margin-top: 16px;
display: none;
}

.hover {
background: #999;
}


window.onload = function ()
    {
    var oDiv = document.getElementById ('con');
    var oLi = oDiv.getElementsByTagName ('li');
    var aDiv = document.getElementById ('right');
    var lDiv = aDiv.getElementsByTagName ('div');
    var anonymous = function (i)
    {
    oLi[i].onmouseover = function ()
    {
    if (oLi.index >= 0)
    {
    oLi[oLi.index].className = '';
    lDiv[oLi.index].style.display = 'none';
    }
    this.className = 'hover';
    lDiv[i].style.display = 'block';//就是这一行代码出错了,无法获取未定义或 null 引用的属性“style”,但是鼠标移上去所有的div都隐藏了,实在是不知道原因,请大侠们指点一二;
    oLi.index = i;
    }
    };
    
    for ( var i = 0; i < oLi.length; i++)
    {
    anonymous (i);
    }
    };



JS实现Tab选项卡效果






  •  服部平次












  • 回答2:

    首先你的oLi[i].index='i';这句得写成oLi[i].index=i;
    其次你的oLi的长度是2,lDiv的长度是1,但是你的两层循环都是按照oLi.length的循环来做的,所以对于lDiv来说越界了,你需要在后面再加一个div才行

    回答3:

    问题在这一行上:
    oLi[i].index='i';
    把i两边的引号去掉,改成
    oLi[i].index=i;
    就好了。

    相关问答
    最新问答