【发布时间】:2014-11-07 02:08:58
【问题描述】:
我正在尝试仅使用 Javascript 在单击时显示/隐藏选项卡,但出现错误(“未捕获的类型错误:无法设置未定义选项卡的属性 'className'。(匿名函数).onclick”)。有人可以告诉我可能是什么问题吗?
<style>
a { text-decoration: none; }
li { list-style: none; }
li.selected { font-weight: bold; }
.panels div { display: none; }
.panels .selected { display: block; }
</style>
<div id="tabs" class="tabs">
<ul>
<li class="selected"><a href="javascript:;">One</a></li>
<li class=""><a href="javascript:;">Two</a></li>
<li class=""><a href="javascript:;">Three</a></li>
</ul>
</div>
<div id="panels" class="panels">
<div class="selected">This is panel one.</div>
<div class="">This is panel two.</div>
<div class="">This is panel three.</div>
</div>
<script>
var tabs = document.getElementById("tabs").getElementsByTagName("li");
var panels = document.getElementById("panels").getElementsByTagName("div");
for (var i = 0; i < tabs.length; i++) {
new function(i) {
tabs[i].onclick = function() {
tabs[i].className = panels[i].className = "selected";
for (var i = 0; i < panels.length; i++) {
tabs[i].className = panels[i].className = "";
}
}
}(i);
}
</script>
【问题讨论】:
-
也许你想试试 Jquery..
标签: javascript