【发布时间】:2011-01-20 06:51:01
【问题描述】:
我有一小段 javascript 可以根据单击列表中的哪个链接来显示/隐藏 div。它不是很优雅,但效果很好。我想做的是根据显示的 div 为列表项分配活动状态。这是我的 JS 和 HTML:
var ids=new Array('section1','section2','section3','section4');
function switchid(id){
hideallids();
showdiv(id);
}
function hideallids(){
//loop through the array and hide each element by id
for (var i=0;i<ids.length;i++){
hidediv(ids[i]);
}
}
function hidediv(id) {
//safe function to hide an element with a specified id
document.getElementById(id).style.display = 'none';
}
function showdiv(id) {
//safe function to show an element with a specified id
document.getElementById(id).style.display = 'block';
}
html:
<ul>
<li class="activeItem"><a href="javascript:switchid('section1');">One</a></li>
<li><a href="javascript:switchid('section2');">Two</a></li>
<li><a href="javascript:switchid('section3');">Three</a></li>
<li><a href="javascript:switchid('section4');">Four</a></li>
</ul>
<div id="section1" style="display:block;">1111111</div>
<div id="section2" style="display:none;">2222222</div>
<div id="section3" style="display:none;">3333333</div>
<div id="section4" style="display:none;">4444444</div>
当点击第 2 部分(或任何一个)时,我希望将“activeItem”类从它当前所在的 li 中删除并应用于当前 li。这可以用javascript吗?我认为是,但我无法弄清楚如何在客户端实现它。
谢谢!
【问题讨论】:
-
我想你的意思是:“...我希望将“activeItem”类从它当前所在的 li 中删除并应用于当前 LI”而不是 div
标签: javascript css class onclick