你那样写是不行的。
jquery事件是在页面加载时绑定到元素上的,因为你在页面加载时没有.recharge
元素,所以相对于.recharge的click事件就不会被绑定,即使将class替换后,也不会再绑定了,也就是说永远只会发生.li-yuan的click事件。
把你的两个事件合并成如下写法就可以了
$('.li-yuan').click(function(){$(this).toggleClass("li-yuan recharge")
})
toggleClass的用法可以看手册了解
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”成功了。
jquery可以使用attr()或prop()方法修改类名,javascript可以修改对象的className属性,关键代码如下:$("#test").attr("class","blue")
$("#test").prop("class","blue")
document.getElementById("test").className = "blue"
实例演示如下:
1、HTML结构
<style>
.red{color:red !important}
.blue{color:blue !important}
</style>
<div id="test">我是示例DIV</div>
<input type="button" id="js" value="使用javascript方法修改类名为red">
<input type="button" id="jq" value="使用jquery方法修改类名为blue">
2、jquery代码
$(function(){
$("#jq").click(function() {
$("#test").attr("class","blue")
})
})
window.onload = function(){
document.getElementById("js").onclick = function(){
document.getElementById("test").className = "red"
}
}