<script>var $ = document.getElementById("subnav");
var items = $.getElementsByTagName("li");for(i=0;i<items.length;i++){
if(items[i].onmouseover) {

items[i].getElementsByTagName("span").style.display = 'block';
}
}</script>运行的时候不提示错误 但是不显示效果 谢谢

解决方案 »

  1.   

    items[i].getElementsByTagName("span").style.display = 'block'; 这句有问题,getElementsByTagName返回的是对象数据,你需要使用索引得到数组中对象的引用
      

  2.   

    this.getElementsByTagName("span").style.display = 'block';
      

  3.   

    items[i].getElementsByTagName("span")[0].style.display = 'block';
      

  4.   

    楼上的朋友 好象还是不能运行啊 说items[i] not def@showbo, 大哥,给写点代码吧
      

  5.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>万恶的弹出菜单</title>
    <style>
    body,ul,li{margin:0;padding:0; font-size:14px;}
    ul{list-style:none; position:relative;}
    .nav{margin:0 auto; background:url(topnav_stretch.gif) repeat-x; width:500px;height:35px;}
    #subnav li{ float:left;}
    #subnav li span{background: #1376c9; width:500px;height:35px; position:absolute; display:none;}
    a{ color:#FFF; text-decoration:none; display:block; padding:10px 15px;}
    a:visited{color:#FFF;}
    a:hover{ background:url(topnav_active.gif) repeat-x;}</style>
    </head><body>
    <div class="nav">
    <ul id="subnav">
    <li><a href="#">首页</a></li>
    <li>
        <a href="#">博客</a>
        <span>
        <a href="#">博客</a>
        <a href="#">博客</a>
        <a href="#">博客</a>
        </span>
    </li>
    <li>
    <a href="#">作品</a>
        <span>
        <a href="#">博客</a>
        <a href="#">博客</a>
        <a href="#">博客</a>
        </span>
    </li>
    <li><a href="#">图片</a></li>
    <li><a href="#">关于我</a></li>
    </ul><script>var $ = document.getElementById("subnav");
    var items = $.getElementsByTagName("li");for(i=0;i<items.length;i++){
    if(items[i].onmouseover) {

    items[i].getElementsByTagName("span")[0].style.display = 'block';
    }
    }</script>
    </div>
    </body>
    </html>好了.本来是想多锻炼下自己的,所以只贴了JS部分
      

  6.   

    首先if(items[i].onmouseover)你想用来判断什么,因为items[i].onmouseover为空,当然下面的不会执行
    再者需要判断一下items[i].getElementsByTagName("span")的长度
    if(items[i].getElementsByTagName("span").length!=0)
        items[i].getElementsByTagName("span")[0].style.display = 'block';