2011-09-07 9 views
13

Czy można ustawić: po stylach css z Javascriptem?Zestaw skryptów JavaScript CSS: po stylach

Więc powiedzmy:

$("#foo li:after").css("left","100px"); 
+5

Może to pomóc: http://stackoverflow.com/questions/311052/setting-css-pseudo-class-rules-from-javascript – WTK

+0

Dodano znacznik jQuery, ponieważ wydaje się, że go używasz. –

Odpowiedz

25
var addRule = (function(style){ 
    var sheet = document.head.appendChild(style).sheet; 
    return function(selector, css){ 
     var propText = Object.keys(css).map(function(p){ 
      return p+":"+css[p] 
     }).join(";"); 
     sheet.insertRule(selector + "{" + propText + "}", sheet.cssRules.length); 
    } 
})(document.createElement("style")); 

addRule("p:before", { 
    display: "block", 
    width: "100px", 
    height: "100px", 
    background: "red", 
    "border-radius": "50%", 
    content: "''" 
}); 

minimalny realizację. Najprawdopodobniej chcesz śledzić dodawane reguły, aby móc je usunąć. sheet.insertRule zwraca indeks nowej reguły, której można użyć, aby uzyskać odniesienie do niej w celu edycji lub usunięcia.

Edytuj: dodano podstawową funkcjonalność do przekonwertowania obiektu na ciąg właściwości css dla wygody.

+0

Wygląda na to, że właściwość 'content:' nie jest uwzględniana. –

Powiązane problemy