Показать сообщение отдельно
  #14 (permalink)  
Старый 17.06.2013, 04:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Мой вариант, без поиска существующих правил, исправленный:
<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);
Вот тут вроде бы достаточно пробел передать в качестве второго аргумента.

Последний раз редактировалось danik.js, 17.06.2013 в 06:11.
Ответить с цитированием