Как нажать на ссылку и получить ее цвет?
ОК, так что это звучит просто, используя функцию jquery 'click'.
Дело в том, что я хочу, чтобы ОРИГИНАЛЬНЫЙ цвет ссылки НЕ был зависшим цветом - например. если ссылка зеленая с оранжевым цветом, я хочу захватить ЗЕЛЕНЫЙ цвет.
Я старался как можно лучше и показывал его в fiddle
У кого-нибудь есть идеи?
ИЗМЕНИТЬ: извинения, но, как заметил несколько орлиных глаз (спасибо им за указание), зеленый на самом деле "rgb (0, 128, 0)", NOT rgb (0, 255, 0), как показано в моей оригинальной скрипке.
Ответы
Ответ 1
Сохраните его в jQuery data
object:
$('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/
Ответ 2
Попробуйте ниже подход.
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)
Ответ 3
Попробуйте это
http://jsfiddle.net/dadviegas/hfHBh/
Ответ 4
Вы можете обрабатывать изменение цвета с помощью 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)
Ответ 5
проверьте, что это будет работать точно
<script>
$("a").click(function () {
$(this).toggleClass("colorclass");
});
</script>