JQuery получить значения CSS наведения - PullRequest
5 голосов
/ 16 марта 2011

На странице готов я хочу запустить функцию, которая получит настройку фонового изображения css, а также настройку фонового изображения при наведении, которую я хочу затем использовать другим способом.

Единственный метод, который я видел, чтобы выполнить это, требует, чтобы кто-то на самом деле наводил курсор на элемент, прежде чем вы сможете получить значение.

У кого-нибудь есть способ?

Вот как получить значение non-hover для css:

$(this).css('background-color');

1 Ответ

4 голосов
/ 16 марта 2011

Для этого вам нужно будет напрямую прочитать значения из таблицы стилей. Основная идея состоит в том, чтобы перебирать каждую таблицу стилей в document.styleSheets, а внутри них перебирать каждое правило в .cssRules или .rules, ища .selectorText, которое соответствует вашему.

Для упрощения я написал для этого (крошечную) библиотеку - JSS . Если у вас есть селектор, например #someId:hover, то с помощью JSS вы можете получить его свойство background-color с помощью:

jss('#someId:hover').get()['background-color']
...