欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用jquery实现点击栏目背景色改变

程序员文章站 2023-08-26 18:35:18
用jquery如何实现点击一栏目实现栏目变色,再点击另一栏目也变色,但原来的变回原色,我有个数组a(1,2,3,我循环遍历输出a的值。 . 代码如下:
  • &...

用jquery如何实现点击一栏目实现栏目变色,再点击另一栏目也变色,但原来的变回原色,我有个数组a(1,2,3,我循环遍历输出a的值。

. 代码如下:


<ul>
<li><a onclick="show();"><b>a[0]<b><a></li>
<li><a onclick="show();"><b>a[1]<b><a></li>
<li><a onclick="show();"><b>a[2]<b><a></li>


点击1,1变色,点击2,2变色,但1会变回原来的颜色.我show方法实现了其他的功能.
下面是我初试的代码
html code:

. 代码如下:


<style type="text/css">
.clckclass{color:red;}
</style>
<script type="text/javascript">
$('ul li a').bind('click', function(){
$('ul li a:not(this)').removeclass('clckclass');
$(this).addclass('clckclass');
});
</script>jscript code:
<style type="text/css">
.clckclass{color:red;}
</style>
<script type="text/javascript">
$('ul li a').bind('click', function(){
$('.clckclass').removeclass('clckclass');
$(this).addclass('clckclass');
});
</script>


上面的代码中,样式‘clckclass‘可能在其他元素上使用,使用$(‘.clckclass').removeclass(‘clckclass');会将画面上所用使用clckclass样式的元素移出clckclass样式的。这显然不是我们要得结果,我们只需要移出ul li a下的clckclass样式。不过后来发现上面的代码中,唯一一点是那个clckclass只能在这几个标签使用,如果其他也用的话,就可能会影响效果,是我考虑不周到,我只考虑了clckclass这个样式只应用在这上面的情况,那么根据这个可以做一下小的修改,如下:
jscript code:

. 代码如下:


<style type="text/css">
.clckclass{color:red;}
</style>
<script type="text/javascript">
var removeclassa = $('ul li a.clckclass');
$('ul li a').bind('click', function(){
removeclassa .removeclass('clckclass');
$(this).addclass('clckclass');
removeclassa = $(this);
});


</script> 这样写将拥有clckclass这个类的节点保存在变量中,下一次点击时可以不用进行一次遍历,速度会快一点。