2009-03-17 3 views
4

Как я могу получить: hover в CSS-таблице стилей на лету с jquery?Как получить стиль hover css для привязки с помощью jQuery?

глупый пример:

a.foo { 
    color: red; 
    font-size: 11px; 
} 

a.foo:hover { 
    color: blue; 
    font-size: 12px; 
} 

как получить, что цвет и размер шрифта до этой мыши будет идти через якорь?

+0

Возможный дубликат [Получить значение CSS от: парить с .css() - JQuery] (http://stackoverflow.com/questions/4719421/get-the-css-value-from- hover-with-css-jquery) –

+0

@ ZachSaucier да, но этот вопрос старше, поэтому другой является дубликатом – apelliciari

+0

Извините, [это не так] (http://meta.stackoverflow.com/a/252017/2065702) –

ответ

1

Посмотрите на Extra selectors for jQuery.

Кроме того, вы можете использовать событие hover, в зависимости от того, чего вы хотите достичь. См .: jQuery hover and class selector.

+0

не плохие эти дополнительные селектора, но поддерживаются ли они jQuery 1.3? Да, я использую событие hover уже, но мне нужно сделать «зависающий» скрипт «общего назначения», поэтому может быть удобно изменить стиль непосредственно на странице стилей css и не передавать стили directy в функцию/объект. – apelliciari

+0

@avastreg: Я тоже не использовал их, поэтому я не знаю, работают ли они вообще =) –

1

Как извлечь этот цвет и размер шрифта до того, как эта мышь перейдет через якорь?

Нет, вы не можете получить заявления стиль : парить класс псевдо перед тем наведя курсор над этим элементом. Это связано с тем, что JavaScript может взаимодействовать только с HTML с помощью DOM. Информация о стиле (для зависающего состояния) недоступна для DOM, если на элементе нет указателя мыши, и поэтому вы не можете получить эти значения (даже путем моделирования состояния зависания).

4

Если вам действительно нужно, вы можете получить доступ к этой информации через свойство document.styleSheet. Пример можно посмотреть здесь: http://jsfiddle.net/Xm2zU/1/

Пожалуйста, обратите внимание, что IE будет нужен свой собственный код, чтобы сделать это, как он использует «.rules», а не «.cssRules» и т.д.

+0

Обратите внимание, что код не работает, если таблицы стилей расположены в другом домене из-за той же политики происхождения. –

0

Вы можете использовать .hover() функцию вместо. http://api.jquery.com/hover/

$("a.foo").hover(
    function() { 
    $(this).css('color','red'); 
    }, function() { 
    $(this).css('color','blue'); 
    } 
); 
+0

Не то, что я имел в виду, я хочу получить состояние зависания от элемента, а не обрабатывать зависание – apelliciari

Смежные вопросы