10

好的,所以这听起来很简单,使用 jquery 的“点击”功能。

问题是我想要链接的原始颜色而不是它的悬停颜色 - 例如,如果链接是绿色的,悬停状态为橙色,我要抓住绿色。

我已经尽我所能并在小提琴中展示了它

有人有什么想法吗?

编辑:抱歉,但正如许多鹰眼已经发现(感谢他们指出)绿色实际上是“rgb(0,128,0)”,而不是 rgb(0,255,0),如我原来的小提琴。

4

5 回答 5

14

将其存储在jQuery 的data对象中:

$('a').each(function() {
    $(this).data('color', $(this).css('color') );
})
.click(function() {
    alert( $(this).data('color') );
});

这是你的小提琴:http: //jsfiddle.net/sVDYe/4/


为了获得更好的性能,我会在循环中使用静态方法。他们更快

$('a').each(function() {
    $.data(this, 'color', $.css(this, 'color') );
});

这是小提琴:http: //jsfiddle.net/sVDYe/13/

于 2012-08-31T14:14:28.347 回答
1

试试下面的方法..

演示:http: //jsfiddle.net/sVDYe/33/

$("a").click(function(e) {
    e.preventDefault();
    var tmpLink =$(this).clone();
    tmpLink.appendTo($(this).parent());    
    var acolor = tmpLink.css("color");
    tmpLink.remove();

    if (acolor == 'rgb(255, 165, 0)') {
        alert('wrong color - its ORANGE =' + acolor);
    } else if (acolor == 'rgb(0, 128, 0)') {
        alert('CORRECT color - its GREEN =' + acolor);
    }
});

正如pimvdb指出的那样。绿色是RGB(0,128,0)

于 2012-08-31T14:21:23.943 回答
1

像这样试试

http://jsfiddle.net/dadviegas/hfHBh/

于 2012-08-31T14:22:26.513 回答
1

您可以使用 Jquery 而不是 css 处理颜色更改并将其存储:

http://jsfiddle.net/sVDYe/20/

var hoverColor;

$("a").hover(function () {
  hoverColor = $(this).css("color");
  $(this).css("color", 'orange');
}, function () {
  $(this).css("color", 'green');
});

$("a").click(function (e) {
  e.preventDefault();
  var acolor = hoverColor;
  if (acolor == 'rgb(255, 165, 0)') {
    alert('wrong color - its ORANGE =' + acolor);
  } else if (acolor == 'rgb(0, 128, 0)') {
    alert('CORRECT color - its GREEN =' + acolor);
  }
});

还有绿色是

RGB(0, 128, 0)

于 2012-08-31T14:23:32.503 回答
-1

check this it will work for sure

<script>
    $("a").click(function () {
      $(this).toggleClass("colorclass");
    });
</script>
于 2012-08-31T14:19:45.717 回答