当在元素外单击另一个链接时,返回先前状态的最有效方法是什么? (jQuery的)

时间:2011-09-15 08:27:18

标签: javascript jquery css-selectors

我有一个链接,点击后会改变其状态:

$('.last_link').bind("click", function() {
     $(this).css({"color" : "#BBB", "cursor" : "default"});
});

但是,如果我单击该链接集中的其他链接,它仍会保留该状态。我喜欢发生的是当我点击另一个链接时链接返回到之前的状态。

当我点击其他链接时,有没有更好,更有效的方法来恢复到这个选择器的原始状态,而不是重新设置.last-link的先前状态?

(编辑:假设我有除.css()之外的其他方法,就像我有一系列方法一样。)

2 个答案:

答案 0 :(得分:2)

假设您使用css而不是style属性设置样式,您可以$('.last_link').removeAttr('style')

这是因为调用.css()会设置style属性的值,因此如果删除它,状态将被还原。

http://jsfiddle.net/jQ2xw/

答案 1 :(得分:2)

.high-state {
    color: #BBB;
    cursor: default;
}

a {
   color: blue;
   cursor: pointer;
}

$("a").click(function() {
    $(".high-state").removeClass('high-state');
    $(this).addClass('high-state');
});

http://jsfiddle.net/majidf/4r6XN/