0

我很惊讶我在那里找不到类似的问题。我有一个图标元素,当我单击选项卡部分时需要更改它。有6个部分。我让它添加一个类,尝试正确使用删除类,所以它不会继续在类中添加类。我就是搞不定。

这是我的代码:

<script type="text/javascript"> 
$(document).ready(function(){
     $('.changeImage').click(function()
{var rel = $(this).attr('rel');
 $('.image').addClass("image"+rel);
$(this).siblings().removeClass("image"+rel);
            return false;
         })
 });
</script>

我也试过这个:

$('.image').addClass("image"+rel);
$(this).next().find('.image').removeClass("image"+rel);

它也不起作用。

HTML 部分(不包括所有周围的代码):  

 <div><a href="#" class="changeImage" rel="1"><img class="thumb" src="images/image1_thumb.png" /></a></div>

CSS 示例:

.image1 {
background:url(images/fast.png) no-repeat;

}

.image2 {background:url(images/peep.png) no-repeat;
}

有没有更有效的换出 bg 图像的方法?switchClass 是一个选项吗?

我很感激。


我设置它的方式是,当您单击某个部分的链接时,它在 rel 中有一个定义的值,该值被添加到“image”+rel 类中

由于我有 6 个不同的链接将与 css 类 image1、image2、image3 等配合,我想要一个通用的 jquery 语句,说明添加单击的类,但删除它或用下一个链接的类切换它是点击。

我可以让它添加多个类,只是在单击其他链接时添加下一个时没有正确删除旧的。

4

3 回答 3

0

You can check out http://api.jquery.com/toggleClass/

Basically you'd do something like $('.changeImage').toggleClass('image2');

This will toggle on/off the .image2 style.

于 2011-09-01T14:30:33.803 回答
0

css 应该是背景图片

您可以使用切换类

$(document).ready(function(){
    $("a").click(function(e){
        e.preventDefault();
        $("div",this).toggleClass("img1");
    }          
   );
});

jsFiddle 示例

于 2011-09-01T15:27:14.387 回答
0

该行$('.image').addClass("image"+rel);正在寻找带有 class 的东西image,我在您的代码片段中没有看到。

通常,您可以通过以下方式将所有现有类替换为新类:

$('selector').attr('class', '').addClass('newClass');

于 2011-09-01T14:27:15.087 回答