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

本人新手,准备做一个网站导航条的选定效果,看了好多例子也没有做出效果,求高手给个完整的代码!
<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>

思路:点击当前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、效果演示:

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

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

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

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

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

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

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

本回答被提问者采纳

jquery怎么在点击li标签之后添加一个在class,点击下一个li时删除上一...
思路:点击当前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,表示选...

...鼠标点击li给li赋予一个class,当鼠标点击另一个li的时候把上一个li...
(function(){ ("#Tab ul > li").click(function(){ (this).addClass("current").siblings().removeClass("current");})}) \/\/给Li一个点击事件,给当前点击的li一个class然后去掉同辈li的class,就这么简单

jquery 点击当前添加一个样式,在次点击取消这个样式,
1、首先打开hbuilder编辑器,在html文件中写入5个li标签,第一个li标签设置class样式,再在上方设置li标签的高度、宽度、字体大小、行高的等属性,再设置第一个li标签的样式,给它加一个外边框。2、然后在下方先引入jQuery的库文件,在script标签中先用$选择器得到li标签的dom对象并给li标签设置一个点...

jquery 点击增加样式,点击移除样式
jquery 点击增加样式,点击移除样式,代码如下:("li").click(function(){ (this).toggleClass("enable");(this).siblings().removeClass("enable");})

jquery如何实现点击LI标签和下面的LI互换顺序?
在script标签中写js代码,这里先用$选择器获取dom元素后添加一个click事件,在点击之后如果存在下移个元素,就用after函数把当前元素插入到下一个元素后面,就实现li标签的互换操作:4、最后打开浏览器,可以看到设置好的无序列表,点击里面的第二个元素:5、此时就会发现蓝框中li标签互换了顺序:

jQuery实现多个li点击切换和显示隐藏
function(){ $("#topnav li").each( $(this).bind("click",function(){ $(this).siblings().removeClass("click").children("span").css("display" ,"none"); $(this).addClass("click").children("span").css("display","block");...

如何设置li单击过后的样式 jquery css
},mouseleave: function(){ (this).removeClass("hover_active");},click: function(){ ("li.clickactive").removeClass("clickactive");(this).addClass("clickactive");} });注意,这里的clickactive和hoveractive是两个样式相同的类,只是名字不同,这样removeClass的时候就不会把click的样式...

jquery 点击事件点击元素添加和移除class
).removeAttr("class");和$("#but").attr("class","but_test");来对标签进行元素的添加和删除。为了直观性的看到结果,首先在css样式中,针对class选择该元素,之后添加相应的样式。接下来,就给该button按钮添加一个点击事件,让它能过自由切换。对该点击事件添加js函数。运行后的结果为:...

js给循环中的li添加class="active"
1、首先在html中布局好两个按钮和一个div,如下图所示。2、接着编写添加class的方法,如下图所示,通过classList中的add。3、运行页面以后看到如下图所示的界面。4、点击添加class按钮就可以看到div中多了样式。5、接下来在编写移除class样式即可。

竖导航菜单 单击li显示下级菜单,再次点击则折叠隐藏 jquery如何实现
这样就可以了吧。('ul>li>a').click(function(){ (this).next('ul').toggle();})

相似回答