如何用javascript实现点击换class
发布网友
发布时间:2022-04-24 15:59
我来回答
共6个回答
懂视网
时间:2022-04-24 20:21
假设,我们要使用setAttribute来改变一个dom的class时,应该如何写?
1. setAttribute("class","red")
2. setAttribute("className","red")
答案是:
选项1. 在firefox下使用
选项2. 在IE下使用
如果在IE下给DOM setAttribute("class") 使用IE Developer看结构会发现,DOM上面显示了两个class出来... 原来IE是把自定义的class和系统的class是区分开的。- -b
热心网友
时间:2022-04-24 17:29
你的程序可以改成:
function navbar(className)
{
var nav=document.getElementById("nav");
nav.className = nav.className=="navbar"?"tnavbar":"navbar";
}
以下我刚刚写的测试程序,证明上面的.className换class是没问题的!
<html>
<head>
<style>
div {width:100%;height:300px; }
.red {background-color:#ff0000;}
.green{background-color:#00ff00;}
.blue {background-color:#0000ff;}
</style>
<script>
function switchColor(obj)
{
document.body.className=obj.value;
}
</script>
</head>
<body>
<div></div>
<select onchange="switchColor(this)" >
<option value="red" >red</option>
<option value="green" >green</option>
<option value="blue" >blue</option>
</select>
</body>
</html>
热心网友
时间:2022-04-24 18:47
更换class请使用xxx.className=xxxx
function navbar(className){
var path = document.getElementById("nav");
path.className = (path.className=="navbar" ? "tnavbar" : "navbar");
}
热心网友
时间:2022-04-24 20:21
function navbar(className){
var path=document.getElementById("nav");
if (path.className=="navbar")
{
path.className="tnavbar";
}
else
path.className="navbar";
}
热心网友
时间:2022-04-24 22:13
这个代码在除IE外(不过IE8没有测试过)的浏览器里都应该可以
热心网友
时间:2022-04-25 00:21
else if (path.getAttribute("class")="tnavbar")
上面至少有一处错误,将‘=' 改成'=='