Прилагам псевдоелемент :after
към тялото, показващ името на моята точка на прекъсване на медийна заявка така:
body::after {
content: 'medium';
display: none;
}
Причината за това можете да намерите тук: http://adactio.com/journal/5429/
Искам да получа стойността на съдържанието на :after
с помощта на javascript в IE8.
Ето как го правя за други браузъри:
var breakpoint = window.getComputedStyle(document.body, ':after').getPropertyValue('content');
Но IE8 не поддържа getComputedStyle()
, знам, че поддържа currentStyle
вместо това, но след малко опити не можах да го използвам правилно.
Това е нещото, което опитвах без успех:
var breakpoint = document.body.currentStyle.getPropertyValue('content');
Някой знае ли как се прави това?
Редактиране: След бележката на BoltClock сега промених css на това (една точка и запетая):
body:after {
content: 'medium';
display: none;
}
Преди използването на две съдържанието дори не се появяваше в IE8, така че нямаше да има какво да се върне. За съжаление все още не мога да накарам IE8 да върне съдържанието.
Опитвам това:
if (style = document.body.currentStyle) {
for (var prop in style) {
if (prop === 'content') {
alert(prop);
}
}
}
Не получавам нищо, но ако променя 'content'
на някакво друго свойство като 'backgroundColor'
, това ще предупреди нещо. Така че мисля, че въпреки че msdn изброява съдържание като едно от наличните свойства на currentStyle
http://msdn.microsoft.com/en-us/library/ie/ms535231%28v=vs.85%29.aspx всъщност не го връща, освен ако не правя нещо друго грешно.
::after
. Ако трябва да поддържате IE8, използвайте:after
. - person BoltClock   schedule 18.10.2012:after{}
не се брои като собствен стил на елемента. Има ли шанс да използвате нещо катоdocument.styleSheets[0].cssRules
? - person Passerby   schedule 19.10.2012