我有一个jquery函数,当单击一个li时,li会展开。这部分运行得很好。现在,我想,当单击li时,它会切换背景色。但是,当我必须再次单击li项来取消切换背景颜色时,它可以正常工作。有人可以帮助我在正确的方向上如何实现这一点。
$(function() {
$('.a').click(function() {
var name = $(this).attr("name");
var content = $('.content[name=' + name + ']');
$('.content').not(content).hide('fast');
$('.selected').css('background', 'yellow');
content.slideToggle('fast');
});
$("li").click(function() {
$(this).toggleClass("highlight");
});
});发布于 2012-07-04 02:28:21
每次单击时,将<li>-s设置为默认颜色,并突出显示当前颜色:
$("li").click(function() {
$("li").removeClass("highlight");
$(this).addClass("highlight");
});..。
更新
$(function() {
$('.a').click(function() {
$(this).removeClass("highlight");
var name = $(this).attr("name");
var content = $('.content[name=' + name + ']');
$('.content').not(content).hide();
content.toggle();
});
$("a").click(function () {
$("a").removeClass("highlight");
if ( $(".content").is(":visible") ) {
$(this).addClass("highlight");
}
});
});发布于 2012-07-04 02:38:13
假设<li>都是兄弟,这样做的效率会稍微高一些,并且允许同一页面上的多个列表彼此独立地工作(同样,假设这是所需的功能)。
$('li').click(function() {
$('this').addClass('highlight').siblings().removeClass('highlight').
});https://stackoverflow.com/questions/11316906
复制相似问题