单击链接时如何更改班级?

时间:2010-12-27 04:32:13

标签: jquery hyperlink

我想在onClick上更改图片链接的背景位置。我称之为“活跃”类。使用jQuery,有没有人有任何建议?

3 个答案:

答案 0 :(得分:0)

$('.active').click(function() {
  $('.active').css('background-position', value);
});

还有jquery可用的/ removeClass和toggleClass方法,假设你有一个已经设置了background-position的css类

http://api.jquery.com/category/css/

答案 1 :(得分:0)

使用background-position属性:

$("a.imageLink").click
(
 function()
 {
  $(this).css("background-position", "YOUR_IMAGE_X_POSITION YOUR_IMAGE_Y_POSITION")
 }
)

使用class:

<style type="text/css">
    .leftIMG
    {
        background-position: 0 0;
        background-image: URL("YOUR_IMAGE");
    }

    .rightIMG
    {
        background-position: 100 0;
        background-image: URL("YOUR_IMAGE");
    }
</style>

$("a.imageLink").click
(
 function()
 {
    var a = $(this);
    if(a.hasClass("rightIMG"))
    {
        a.addClass("leftIMG").removeClass("rightIMG");
    }
    else
    {
        a.addClass("rightIMG").removeClass("leftIMG");
    }
 }
)

答案 2 :(得分:0)

如果你使用jQuery:

$('yourselector').click(function() {
    $(this).addClass('active');
});

如果你不这样做:

var addActiveClass = function() {
    this.className += ' active';
};
if(el.addEventListener) {
    el.addEventListener('click', addActiveClass, false);
} else if(el.attachEvent) {
    el.attachEvent('onclick', addActiveClass);
} else {
    var cachedOnClick;
    if(el.onclick) {
        cachedOnClick = el.onclick;
    }
    el.onclick = function(e) {
        if(cachedOnClick !== undefined) {
            cachedOnClick.call(this, e);
        }
        addActiveClass.call(this);
    };
}