Как я могу получить стиль класса, если у меня нет ничего, кроме имени класса? - PullRequest
3 голосов
/ 24 ноября 2010

Это код CSS:

# skin.css
.my_class {
  attr1: value1;
  attr2: value2;
}

Я хочу получить эти свойства, но $(".my_class") не работает, потому что у меня нет элемента с классом my_class в моем DOM. Есть ли способ достичь этого?

Ответы [ 2 ]

0 голосов
/ 24 ноября 2010

Одно из решений - создать поддельный элемент DOM, сделать его невидимым, добавить его на страницу и затем прочитать значения css. Недостатком является то, что вы не можете получить часть стиля display, но, возможно, вам это не нужно.

$('<div class="my_class" style="display:none"></div>').appendTo('body').css("attr1");

Вот демонстрация (на основе скрипки Ника): http://www.jsfiddle.net/uTcPD/1/

0 голосов
/ 24 ноября 2010

Вы можете создать скрытый элемент DOM и добавить его к телу, а затем удалить его:

$('<div class="my_class" style="display: none;"></div>').appendTo("body").css("attr1"); // => value1

Вам бы пришлось сделать что-то немного иначе, если бы вы заботились о свойстве display, например. используйте opacity или visibility или position: absolute; top: -100000px;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...