jquery怎么在点击li标签之后添加一个在class,点击下一个li时删除上一个class?

本人新手,准备做一个网站导航条的选定效果,看了好多例子也没有做出效果,求高手给个完整的代码!<scriptsrc="/js/jquery.min.js"type="tex... 本人新手,准备做一个网站导航条的选定效果,看了好多例子也没有做出效果,求高手给个完整的代码!
<script src="/js/jquery.min.js" type="text/javascript"></script>

<div class="index_nav">
<div class="index_nav_middle">
<ul id="w111">
<li ><a href="/">首页</a></li>
<li ><a href="/1/">最新资讯</a></li>
<li ><a href="/2/">科学探索</a></li>
<li ><a href="/3/">每日知识</a></li>
<li ><a href="/4/">图片站</a></li>
<li ><a href="/5/">论坛</a></li>
</ul></div>
</div>
</div>
展开
 我来答
learneroner
高粉答主

推荐于2017-10-13 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6584万
展开全部

思路:点击当前li元素后是用removeClass()删除所有兄弟元素(使用siblings()获取)的class样式,然后使用addClass()为当前li添加class。

具体演示如下:

1、HTML结构:设计三个li元素

<ul id="test">

    <li>Glen</li>

    <li>Tane</li>

    <li>John</li>

</ul>

2、css样式:设计一个类selected,表示选中后的效果

<style>

    .selected{font-weight:bold; background: #ff99cc; color:#fff;}

</style>

3、jquery代码:

$(function(){

    $("#test li").click(function() {

        $(this).siblings('li').removeClass('selected');  // 删除其他兄弟元素的样式

        $(this).addClass('selected');                            // 添加当前元素的样式

    });

}); 

4、效果演示:

温陌觉M
推荐于2017-09-24 · TA获得超过369个赞
知道小有建树答主
回答量:251
采纳率:80%
帮助的人:140万
展开全部

JQ做的效果在当前页面,你超链接跳转刷新后,效果不在了,除非结合cookies

推荐用服务器端脚本语言来做,更加简洁

或者传递参数,或者判断文件名

另外JQ代码大致写一下,但是没效果的一点击就跳转了

$(function(){
    var liobj=$("#w111 li");
    liobj.each(function(){
        $(this).click(function(){
    liobj.removeClass("on")
            $(this).addClass("on");
            //return false;    //加这句来阻止跳转 可用来调试效果
        });
    });
});

先给首页加样式on,样式名字我随便写的。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式