利用jquery改变指定元素的class样式

<div id="daohang" class="daohang">
<ul>
<li><a href="index.htm" class="shouye">首页</a></li>
<li><a href="/index.htm?actionType=companyIntro">关于博雅</a></li>
<li><a href="/newslist.htm">新闻资讯</a></li>
<li><a href="/chanpin.jsp">产品中心</a></li>
<li><a href="/poslist.htm">经典案例</a></li>
<li><a href="/jiaMenglist.htm">诚邀加盟</a></li>
<li><a href="/index.htm?actionType=lianxi">联系我们</a></li>
</ul>
</div>
我想可以控制点击首页后,首页就有class="shouye"的样式,其它就没有样式了,然后点击关于博雅,这个就有class="shouye"的样式,其它的都没有样式了,就这样的。

jQuery中一般有3个关于改变元素class的函数

addClass、removeClass、toggleClass

    addClass
    描述: ä¸ºæ¯ä¸ªåŒ¹é…çš„元素添加指定的样式类名
    $('div').addClass('className');//为所有div添加名为className的class

    removeClass
    描述: ç§»é™¤é›†åˆä¸­æ¯ä¸ªåŒ¹é…å…ƒç´ ä¸Šä¸€ä¸ªï¼Œå¤šä¸ªæˆ–全部样式。
    $('div').removeClass('className');//将所有div上名为className的class移除

    toggleClass
    描述: åœ¨åŒ¹é…çš„元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类。
    $('div').toggleClass('className');//如果div上有这个class就删除,没有就添加

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-25

你好!!


问题1:你的超链接是否可以跳转,也就是说点击首页后,是否直接跳到index.htm中?

          如果是这样的话,可能你需要传递一个当前点击项的索引值,然后通过这个索引值,

          在跳转的页面中进行 class="shouye" 的设置;

问题2:如果只是点击项,不发生页面的跳转的话,实现起来相对比较容易;

比如:

$(function(){
    $("#daohang li").click(function(){
        $(this).find("a").addClass("shouye").end().siblings().find("a").removeClass("shouye");
    });
});

 

至于问题1:

其实对于同一个名字的动态页面,前面提到的方式比较方便,可这里是一个链接对应了一个页面,所以可以在不同的页面进行设置就OK了。
之前应该是把问题复杂化了····

本回答被提问者和网友采纳
第2个回答  2013-10-09
$("#daohang > a").click(){
        $("#daohang > a").attr("class","");
        $(this).attr("class","shouye");
}

 <!--
    望采纳谢谢!
    意思是给点击的超链接添加样式,
    方法是先移除之前的样式,然后重新给点击的超链接添加样式.
-->

利用jquery改变指定元素的class样式
("#daohang > a").click(){ $("#daohang > a").attr("class",""); $(this).attr("class","shouye");} <!-- 望采纳谢谢! 意思是给点击的超链接添加样式, 方法是先移除之前的样式,然后重新给点击的超链接添加样式.--> ...

请问用jquery如何给元素重新设置class?
(".a").removeClass("a").addClass("b");

jquery点击div更换class
jQuery中一般有3个关于改变元素class的函数 addClass、removeClass、toggleClass addClass 描述: 为每个匹配的元素添加指定的样式类名 ('div').addClass('className');\/\/为所有div添加名为className的class removeClass 描述: 移除集合中每个匹配元素上一个,多个或全部样式。('div').removeClass('classN...

Jquery 怎么只给点击的元素加个class
举个例子说明jquery点击个元素添加class样式 jquery代码部分,需要加载juqery库才行。$(document).ready(function(){ $("#click").click(function(){ $(this).addClass("red"); });});css样式部分.red{color:#FF0700}html代码部分演示文字说明:当点击这个div层后,会给改div层设置一个cs...

JS脚本:jquery 如何动态添加、删除class样式方法介绍
1 $("p").removeClass("high another");外,还可以利用removeClass()方法的一个特性来完成同样的效果。当它不带参数时,就会将class的值全部删除,JQuery代码如下:1 $("p").removeClass(); \/\/移除p元素的所有class 换样式 JQuery中有一个方法toggle(),JQuery代码如下:1 toggleBtn.toggle(...

关于用jQuery修改CSS样式的一点代码理解上的疑问
你想错了,这个JQERY里面的addClass和removeClass这两个方法是添加样式的就是class 。至于你说的参数一定是代表颜色而不是其他什么元素么? 那就要看你想添加什么样式了, 上面那个不是绿色的意思,而是名为green(他把样式名字起成了绿色的英文单词)...

Jquery 怎么只给点击的元素加个class
Jquery 怎么只给点击的元素加个class?1:新建一个html文件,命名为test.html,用于讲解jquery如何实现追加元素的同时添加class属性。2:在test.html文件内,使用p标签创建一行测试的内容,并创建两个空div标签。3:在test.html文件内,使用button标签创建一个按钮,给button按钮绑定onclick点击事件,当按钮...

jquery怎么设置class
需要准备的材料分别有:电脑、html编辑器、浏览器。1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery。2、在index.html中的标签,输入jquery代码:$('input').css('width', '250px');。3、浏览器运行index.html页面,此时输入框的css样式的宽度被成功设置250px。

jQuery给元素添加样式的方法详解
本文实例讲述了jQuery给元素添加样式的方法。分享给大家供大家参考,具体如下:1、获取和设置样式 ("#tow").attr("class")\/\/获取ID为tow的class属性 ("#two").attr("class","divClass")\/\/设置Id为two的class属性。2、追加样式 复制代码 代码如下:$("#two").addClass("divClass2")\/\/为ID为...

Jquery 怎么只给点击的元素加个class
方法一:("a").click(function(){ $("a").attr("class", ""); $(this).attr("class", "XXXX");});原理就是点击某个,先消除所有的class,然后给当前的添加class="XXXX"。这个写法最快捷。方法二:("a").click(function(){ if(lastclick) lastclick.attr("class", ""); ...

相似回答