Мой вариант, без поиска существующих правил, исправленный:
<script>
var addRule = (function(){
var head = document.head || document.getElementsByTagName('head')[0];
var style = head.appendChild(document.createElement('style'));
var styleSheet = style.sheet || style.styleSheet;
var cssRules = styleSheet.cssRules || styleSheet.rules;
return function(selector) {
if (styleSheet.insertRule) {
styleSheet.insertRule(selector + '{}', cssRules.length);
} else {
styleSheet.addRule(selector, ' ', cssRules.length);
}
return cssRules[cssRules.length - 1];
}
})();
var pseudoRule = addRule('span:before');
var setPseudoContent = function(content) {
pseudoRule.style.content = '"' + content + '"';
}
</script>
<input onkeyup="setPseudoContent(value)" />
Pseudo:<span></span>
Проверено в Opera, Firefox, Google Chrome, IE8, IE10.
Сообщение от devote
|
addRule(selector, 'e:0;', 0);
|
Вот тут вроде бы достаточно пробел передать в качестве второго аргумента.