получить значение свойства 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, время: 17:15. |