jquery li点击时添加class,并且显示对应的div,隐藏其他的div,我下面的方法太麻烦了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery li点击时添加class,并且显示对应的div,隐藏其他的div,我下面的方法太麻烦了相关的知识,希望对你有一定的参考价值。
$(".action li").click(function ()
var index = $('.action li').index(this);
var i = index + 1;
$(".action li").removeClass('active');
$(".action li")
if(i == 1)
$('#action1').show();
$('#action2').hide();
$('#action3').hide();
if(i == 2)
$('#action2').show();
$('#action1').hide();
$('#action3').hide();
if(i == 3)
$('#action3').show();
$('#action2').hide();
$('#action1').hide();
);
$("ul li").click(function()
var index = $("ul li").index($(this)); //你那个错了
$("div[id^='action']").hide(); //让id以action开关的div隐藏
$("#action"+(index+1)).show(); //让#actionX显示
);追问
显示隐藏的不是li,是div
追答^= 选择器有点慢,最好把 action1, action2, action3都放到一个这种。
然后在你的$("ul li").click(function()
var index = $("ul li").index($(this)),
$divList = $("#actionList").children("div");
$divList.hide();
$divList.eq(index).show();
);
jquery点击li标签之后在该li标签上添加一个class,点击下一个li时删除上一个li的class
思路:点击当前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‘); // 添加当前元素的样式 }); });
以上是关于jquery li点击时添加class,并且显示对应的div,隐藏其他的div,我下面的方法太麻烦了的主要内容,如果未能解决你的问题,请参考以下文章