узнать 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, время: 14:15. |