<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<title>sdfdsfsdfsdf</title>
<style type="text/css">
*{margin:0;padding:0;}
li{background:#0066cc;width:100px;color:#fff;width:100px;float:left;}
.box{display:none;border:1px solid #ccc;width:200px;height:100px;}
.active{background:#505050;}
</style>
<script type="text/javascript">
window.onload=function(){
var otab=document.getElementById('tab');
var oli=otab.getElementsByTagName('li')
var obox=otab.getElementsByTagName('box');
for(i=0;i<oli.length;i++){
oli[i].index=i;
oli[i].onclick=function()
{
for(i=0;i<oli.length;i++)
{
oli[i].className='';
obox[i].style.display='none';
}
this.className='active';
obox[this.index].style.display='block';
};}}</script>
</head>
<body>
<div id="tab">
<ul>
<li class="active">第一个</li>
<li>第二个</li>
</ul>
<div class="box" style="display:block;">1</div>
<div class="box">2</div></div></body>
</html>
点击无任何反应,求达人为我解释下。

解决方案 »

  1.   

    window.onload=function(){
    var otab=document.getElementById('tab');
    var oli=otab.getElementsByTagName('li')
    var obox=otab.getElementsByTagName('div');
    for(i=0;i<oli.length;i++){
            oli[i].index=i;
            oli[i].onclick=function()
            {            
                for(i=0;i<oli.length;i++)
                {            
                oli[i].className='';
                obox[i].style.display='none';            
                }                
                this.className='active';
                obox[this.index].style.display='block';
            };}}
    var obox=otab.getElementsByTagName('box');
    没有html标签的名称为box的
      

  2.   


    var obox=otab.getElementsByTagName('div'); //你的这行出现问题了,byTagName 是对象类型,并不是类名。
      

  3.   

    没有html标签的名称为box的我不理解这句话,难道不能这样取嘛
    如果不能这样这样取,那取值应该注意那些?谢谢各位了var otab=document.getElementById('tab');
    var obox=otab.getElementByTagName('box');<div id="tab">
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div></div>
      

  4.   

    <script type="text/javascript">
    window.onload=function(){
    var otab=document.getElementById('tab');
    var oli=otab.getElementsByTagName('li')
    var obox = document.getElementById('tab').getElementsByTagName('div'); //这里
    for(i=0;i<oli.length;i++){
            oli[i].index=i;
            oli[i].onclick=function()
            {            
                for(i=0;i<oli.length;i++)
                {
                oli[i].className='';
                //obox[i].style.display='none'; 
    for(var j = 0; j < obox.length; j ++) {
    if (obox[j].className == 'box') obox[j].style.display = 'none';
    }
                }
                this.className='active';
                //查找并显示显示对应的<div class="box">
                var counter = 0;
    for(var j = 0; j < obox.length; j ++) {
    if (obox[j].className == 'box') {
    if (counter == this.index) {
    obox[j].style.display = 'block';
    break;
    }
    else counter ++;
    }
    }
            };
    }
    }</script>
      

  5.   


    getElementById()通过id获得单个元素
    getElementsByName()通过html元素名称获得名称,返回的是一个数组,因为同一张html页面中html元素的名称可以相同
    getElementsByTagName()通过html标签名获得元素如 div,ul ,li ,p , table ,span等等都可以,返回的是一个数组,原因跟getElementsByName相同
      

  6.   

    不能通过class获得元素,默认的没有,可以通过自己写函数取得
      

  7.   

    getElementsByClassName('box')方法可以直接通过类名获取元素对象,可惜IE不支持。。