我似乎无法使用函数changeTab(num)
将li元素的ID从number
更改为selected
,并将所选标签的ID恢复为其默认编号。它只能工作一次或两次,然后停止。我的目标是模仿选定和未选中选项卡的更改,例如在Chrome选项卡中。JavaScript更改ID将不起作用
<ul id="nav">
<li onClick="changeTab(1);" id="1"><a href="#">Nav 1</a></li>
<li onClick="changeTab(2);" id="2"><a href="#">Nav 2</a></li>
<li onClick="changeTab(3);" id="selected"><a href="#">Nav 3</a></li>
<li onClick="changeTab(4);" id="4"><a href="#">Nav 4</a></li>
</ul>
我的JavaScript代码是:
function changeTab(num){
switch(num){
case 1:
document.getElementById("selected").id = "1";
break;
case 2:
document.getElementById("selected").id = "2";
break;
case 3:
document.getElementById("selected").id = "3";
break;
case 4:
document.getElementById("selected").id = "4";
break;
default:
document.getElementById("selected").color = "";
}
//
document.getElementById(num).id = "selected";
不要用ID做这个。添加和删除类名称。让ID保持不变。 – Quentin
这是对'switch'语句的可怕滥用。请使用'if ... else'语句 – Zirak
还要注意,数字ID不会生效 - ID属性不能以数字开头。 – WTK