一个TAB选项卡的问题

wzcm87 2011-07-03 08:35:54
<!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>


点击无任何反应,求达人为我解释下。
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
乌镇程序员 2011-07-03
  • 打赏
  • 举报
回复
getElementsByClassName('box')方法可以直接通过类名获取元素对象,可惜IE不支持。。
挨踢直男 2011-07-03
  • 打赏
  • 举报
回复
不能通过class获得元素,默认的没有,可以通过自己写函数取得
挨踢直男 2011-07-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wzcm87 的回复:]
没有html标签的名称为box的

我不理解这句话,难道不能这样取嘛
如果不能这样这样取,那取值应该注意那些?谢谢各位了

var otab=document.getElementById('tab');
var obox=otab.getElementByTagName('box');

<div id="tab">
<div class="box"></div>
<di……
[/Quote]

getElementById()通过id获得单个元素
getElementsByName()通过html元素名称获得名称,返回的是一个数组,因为同一张html页面中html元素的名称可以相同
getElementsByTagName()通过html标签名获得元素如 div,ul ,li ,p , table ,span等等都可以,返回的是一个数组,原因跟getElementsByName相同
乌镇程序员 2011-07-03
  • 打赏
  • 举报
回复
<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>
wzcm87 2011-07-03
  • 打赏
  • 举报
回复
没有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>
床上等您 2011-07-03
  • 打赏
  • 举报
回复

var obox=otab.getElementsByTagName('div'); //你的这行出现问题了,byTagName 是对象类型,并不是类名。
挨踢直男 2011-07-03
  • 打赏
  • 举报
回复
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的
内容概要:本文系统介绍了基于MATLAB平台的风力涡轮机雷达信号仿真研究,涵盖完整的仿真代码、实测数据及配套学术文章,重点实现雷达信号处理、风力涡轮机回波建模、微动特征提取与时频分析等核心技术。通过高精度模拟风机叶片旋转引起的调制效应与雷达散射截面变化,深入揭示风力发电场对周边雷达系统造成的电磁干扰机制,为雷达杂波抑制、目标检测优化及空域兼容性设计提供理论支撑与技术验证平台。资源内容还可拓展应用于无人机路径规划、电动汽车调度、电力系统优化等交叉领域,展现MATLAB在复杂系统仿真中的强大集成能力。; 适合人群:具备MATLAB编程基础与雷达信号处理知识的科研人员,适用于从事新能源并网影响评估、雷达系统设计、电磁兼容分析、智能电网或远程 sensing 领域研究的研究生、工程师及高校教师; 使用场景及目标:①开展风电场对空中监视雷达干扰效应的仿真评估;②研究风电杂波的时频特性与微多普勒特征建模方法;③开发针对非合作目标干扰的雷达抗干扰算法与信号分离技术;④作为科研项目申报、论文复现或工程预研的技术原型工具包; 阅读建议:建议结合百度网盘提供的完整资料包(含代码、数据集与参考文献)同步学习,优先运行示例脚本以掌握仿真流程,再根据具体研究需求调整系统参数进行扩展实验,同时可借鉴文中提到的其他MATLAB仿真案例以提升研究深度与广度。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧