Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Узнать CSS правило для элемента (https://javascript.ru/forum/events/13700-uznat-css-pravilo-dlya-ehlementa.html)

vinet 09.12.2010 23:51

Узнать CSS правило для элемента
 
Доброе время суток.

Есть элемент, напрмер, < div class="AAA BBB CCC" > TEXT < /div >

Как узнать основное CSS правило (как оно записано в CSS файле) для данного элемента как это выдает Firebug для конкретного элемента?

Прилагаю скриншот ФаерБага для более полного понимания вопроса (пример).

http://pixs.ru/showimage/1121png_9165548_1339006.png

Не встречал ранее решения подобных задач. может кто-то подскажет?

Илья Кантор 10.12.2010 02:00

А зачем это нужно? Может, достаточно какое-то свойство узнать?

vinet 10.12.2010 02:08

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

Нужно узнать именно полное правило. Интересно, как это делает ФаерБаг?

monolithed 10.12.2010 07:57

Чтобы определить точную последовательность css-правил (если стили вынесены в отдельный файл) без серверной части не обюойтись.

exec 10.12.2010 08:12

Если CSS-файл находится на том же домене, что и сама страница, то можно запрашивать AJAX'-ом файл и парсить его:

var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
request.open("GET", "/_st/my.css", true);
request.onreadystatechange = function () {
	if (request.readyState === 4 && request.status === 200)
			alert( request.responseText.match(/\.noun[\u0000-\uFFFF]*?\{[\u0000-\uFFFF]*?\}/) );
};
request.send(null);


На этом примере из файла /_st/my.css запрашиваются свойства класса noun.


Часовой пояс GMT +3, время: 00:52.