
以给 body 标签添加 class 为例
通过 jQuery
$( 'body').addClass( 'class1 class2' )$( 'body' ).removeClass( 'class1 class2' )
支持 classList 的高级浏览器(IE10+,Chrome,Firefox,Safari)
document.body.classList.add( 'class1', 'class2' )document.body.classList.remove( 'class1', 'class2' )
不支持 classList 的浏览器只能通过 className 来添加
document.body.className += ' class1 class2'因为`.manage2`样式是在事件中添加到#manage元素的,第二段代码执行时该元素尚未被赋予.manage2样式, 所以获取不到这个元素也没添加有效的事件。
看你这段代码, .manage1、.manage2应该都是id为manage的元素,
首先能用ID获取就不要用样式获取, 因为ID获取元素的效率最快。
其次, 同一元素多次被使用时, 用变量暂存,
代码更改如下, 如果不对, 请上传相应的HTML:
var box = document.getElementById('box'),boxClassList = box.classList
manage = document.getElementById('manage'),
manageClassList = manage.classList
manage.onclick = function(){
manageClassList.remove('manage1')
manageClassList.add('manage2')
boxClassList.add('addr-add')
manage.onclick = function(){
boxClassList.remove('addr-add')
boxClassList.add('addr-delete')
}
}
js通过class改变样式,可以使用Dom的className属性设置元素的样式。完整示例代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试页面</title>
<style type="text/css">
.themeCls {
color: #000
background-color: #f60
line-height: 25px
}
</style>
</head>
<body style="background-color:#ccc">
<span id="theme">这是一段测试文本<br />用来测试js通过class改变样式</span>
<script type="text/javascript">
var domTheme = document.getElementById("theme")
theme.className = "themeCls"
</script>
</body>
</html>
具体 *** 作步骤如下:
1、新建一个html文件,命名为t.html。
2、打开t.html。
3、在t.html中写入html结构代码,其中设置需要添加class类的元素的ID为“theme”。代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试页面</title>
</head>
<body style="background-color:#ccc">
<span id="theme">这是一段测试文本<br />用来测试js通过class改变样式</span>
</body>
</html>
4、设置一个css类,命名为”themeCls”,用于在javascript *** 作时给元素添加clsss。”themeCls”类为了方便观察效果,设置css规则为字体颜色为黑色#000,背景为橙色#f60,行高为25像素。代码如下:
<style type="text/css">
.themeCls {
color: #000
background-color: #f60
line-height: 25px
}
</style>
5、编写javascript代码,获取ID为“theme”的元素并设置元素的class类为“themeCls”,代码如下:
<script type="text/javascript">
var domTheme = document.getElementById("theme")
domTheme .className = "themeCls"
</script>
6、打开浏览器,浏览t.html页面,发现页面中”这是一段测试文本用来测试js通过class改变样式”这一段文本字体颜色呈现黑色,背景呈现橙色,说明我们为元素添加class类“themeCls”成功了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)