получить значение свойства CSS находящийся в теге Style с помощью JavaScript
Привет всем.
Нужно получить значение свойства CSS находящийся в теге <style> с помощью Javascript. Код:
<html> Код:
<html> Спасибо. |
Cвойство нун парсить, а строку можно получить и поменять, либо тестить через getComputedStyle http://learn.javascript.ru/styles-and-classes
<style id="a1"> #bigpick { text-align:center; opacity:1; filter: alpha(opacity=1); -webkit-transition:1s; -moz-transition:1s; -ms-transition:1s; -o-transition:1s; transition:1s; } </style> <script type="text/javascript"> var v=document.getElementById('a1') var str=v.innerHTML; alert("тестим в теге opacity:\n"+str.split(/(opacity:\S)/)[1]) </script> |
Цитата:
var styles = document.getElementsByTagName('style'); // все стили var sheet = styles[0].sheet; // первая таблица стилей var rules = sheet.rules; // правила первой таблицы var style = rules[0].style // набор свойств первого правила первой таблицы var property = style[0]; // первое свойство первого правила первой таблицы var value = style[property]; // его значение В старых IE что-то подобное тоже есть. |
А если будет вот так?
<style id="a1"> #text0 { opacity:1; } #text1 { opacity:1; } #text3 { opacity:1; } И мне надо будет только значение свойства "opacity" в #text3 ? |
Cвойство нун парсить, а строку можно получить и поменять, либо тестить через getComputedStyle http://learn.javascript.ru/styles-and-classes
Я прочитал эту статью но не работает. В firefox-e нечего не показывает а в других не то показывает. |
Цитата:
<style id="style"> #text0 { opacity:0.1; } #text1 { opacity:0.2; } #text3 { opacity:0.3; } </style> <script type="text/javascript"> var styles = document.getElementsByTagName('style'); // все стили var sheet = styles[0].sheet; // первая таблица стилей var rules = sheet.rules; // правила первой таблицы //var style = rules[0].style // набор свойств первого правила первой таблицы alert(styles.length) alert(sheet) alert(rules) </script> |
<style id="a1"> #text0 { opacity:0.1; } #text1 { opacity:0.2; } #text3 { opacity:0.3; } </style> </style> <script type="text/javascript"> var v=document.getElementById('a1') var str=v.innerHTML; var t3=str.replace(/[\s\S]*?#text3 \{([\s\S]*?)\}[\s\S]*$/gim,'$1') alert(t3) </script> |
Я так понял что в javascipt нету такой функции, нужно делать такими способами :(
|
Цитата:
<style> #text0 { opacity:0.1; } #text1 { opacity:0.2; } #text3 { opacity:0.3; } </style> <script> function cssValue(style, selector, property) { var rules = style.sheet.cssRules; for (var i = 0; i < rules.length; i++) { if (rules[i].selectorText == selector) { return rules[i].style[property]; } } return null; } var styles = document.getElementsByTagName('style'); var opacity = cssValue(styles[0], '#text3', 'opacity'); alert(opacity); </script> |
Ок спасибо ;)
|
Часовой пояс GMT +3, время: 11:44. |