好的,这听起来很简单,使用jquery的'click'功能。
问题是我想要链接的原始颜色而不是其悬停的颜色 - 例如如果链接是绿色且悬停状态为橙色,我会抓住绿色。
我尽我所能并在fiddle
中展示了它有人有任何想法吗?
编辑:道歉,但随着一些鹰眼的发现(感谢他们指出来)绿色实际上是“rgb(0,128,0)”,而不是rgb(0 ,255,0)如我原来的小提琴所示。
答案 0 :(得分:14)
将其存储在jQuery's data
对象中:
$('a').each(function() {
$(this).data('color', $(this).css('color') );
})
.click(function() {
alert( $(this).data('color') );
});
这是你的小提琴:http://jsfiddle.net/sVDYe/4/
为了获得更好的性能,我在循环中使用the static methods。 They're much faster:
$('a').each(function() {
$.data(this, 'color', $.css(this, 'color') );
});
答案 1 :(得分:1)
尝试以下方法..
DEMO :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)
答案 2 :(得分:1)
答案 3 :(得分:1)
您可以使用Jquery而不是css处理颜色更改并存储它:
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)
答案 4 :(得分:-1)
检查一下它肯定会起作用
<script>
$("a").click(function () {
$(this).toggleClass("colorclass");
});
</script>