узнать css значения класса
допустим есть css класс:
<style>
.MyClass {color:green; width:200px; height:100px;}
</style>
этот класс не присвоен ни одному элементу. могу я при помощи jquery узнать css значения этого класса? метод .css() позволяет получить фактические css значения у выбранных элементов, а мне надо у класса. |
Что мешает создать новый элемент и присвоить ему класс ?
Этот новый элемент даже в документ выводить не обязательно. |
css поиск правил для класса
winch,
:)
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
.fon {
color:blue;
}
</style>
<style type="text/css">
.MyClass {color:green; width:200px; height:100px;margin-left: 3px;}
</style>
</head>
<body>
<span class="fon" onclick="alert(JSON.stringify(pusk('.MyClass')))">click me</span>
<script>
function pusk(k) {
for (var e = {}, f = document.styleSheets, c = 0; c < f.length; c++)
for (var a = f[c].cssRules, b = 0; b < a.length; b++)
if (a[b].selectorText == k)
for (var g = a[b].cssText.match(/[-\w]+(?=:)/g) || [], d = 0; d < g.length; d++) {
var h = g[d],
l = h.replace(/-(\w)/g, function(b, a) {
return a.toUpperCase()
});
e[h] = a[b].style[l] }
return e
};
</script>
<style type="text/css">
.MyClass { cursor: pointer; background-color: #00FF00;}
</style>
</body>
</html>
|
Цитата:
гмммм.... хотя, как вариант можно конечно вывести за пределами видимой области. ну если более замороченного решеия не найду, наверно так и сделаю. |
рони, спасибо!
я не понял как - но работает :)) а я, по инерции мышления, решение через jquery искал. |
рони, просьба помочь еще раз.
дело в том, что как показала практика, вышеприведенная функция некорректно работает с css свойствами, в имени которых содержится дефис (например: margin-left) - возвращает undefined. как это пофиксить? |
Цитата:
Цитата:
|
ааа. значит не кросбраузерно это.
в хроме при нажатии "click me" получаю так: {"color":"green","width":"200px","height":"100px", "margin-left":"3px","cursor":"pointer","backgroud-color":"rgb(0,255,0)"} а в опере и лисе так: {"color":"green","width":"200px","height":"100px", "cursor":"pointer"} |
winch,
проверьте ещё один вариант - пост 3 |
О! теперь все ОК во всех браузерах.
еще раз, спасибо большое :thanks: |
| Часовой пояс GMT +3, время: 11:32. |