Jquery 重置CSS背景图像

Jquery 重置CSS背景图像,jquery,css,Jquery,Css,我正在尝试使用以下JQUERY创建手风琴类型菜单: function initMenu() { $('#menu ul').hide(); $('#menu li a').click( function() { $(this).next().slideToggle('normal'); $(this).css("background", "url(customnav_selected.

我正在尝试使用以下JQUERY创建手风琴类型菜单:

function initMenu() {
    $('#menu ul').hide();
        $('#menu li a').click(
            function() {
                $(this).next().slideToggle('normal');
                $(this).css("background", "url(customnav_selected.png) top right");
            }
        );
}
$(document).ready(function() {initMenu();});
这在某种程度上起作用,当我单击菜单链接时,它会展开,菜单标题背景也会改变

但是,当我第二次单击它以折叠菜单时,我希望它能重新更改

有人能帮忙吗?

而不是这个:

$(this).css("background", "url(customnav_selected.png) top right");
将该样式放入CSS类中,并使用而不是,例如:

因此,单击处理程序变为:

$('#menu li a').click(function() {
     $(this).next().slideToggle('normal');
     $(this).toggleClass("selected");
});
风格:

<style>
.selected  {background: url(customnav_selected.png) top right} 
</style>

.selected{background:url(customnav_selected.png)右上角}
而不是这个:

$(this).css("background", "url(customnav_selected.png) top right");
将该样式放入CSS类中,并使用而不是,例如:

因此,单击处理程序变为:

$('#menu li a').click(function() {
     $(this).next().slideToggle('normal');
     $(this).toggleClass("selected");
});
风格:

<style>
.selected  {background: url(customnav_selected.png) top right} 
</style>

.selected{background:url(customnav_selected.png)右上角}

将背景图像设置为无(或初始值)


我发现直接将类设置为特定的html元素比css属性更容易,然后添加/删除这些类。

将背景图像设置为无(或初始值)


我发现直接将类设置为特定的html元素比css属性更容易,然后添加/删除这些类。

将背景样式设置为空字符串会将其还原为样式表中的样式。这假设默认样式来自样式表,如果不是,则必须手动重置它。

将背景样式设置为空字符串应将其还原为从样式表中获得的样式。这假设默认样式来自样式表,如果不是,你必须手动重置它。

这完全是完美的-如果我只知道jQuery稍微好一点。@ Dhumperson,如果它符合你的要求,请考虑接受这个答案。这是完美的-如果我只知道jQuery稍微好一点的话。@ Dhumperson,如果它符合你的要求,请接受这个答案。