2011-09-07 18 views
13

क्या आप जावास्क्रिप्ट के साथ सीएसएस की शैलियों के बाद सेट कर सकते हैं?जावास्क्रिप्ट सेट सीएसएस: शैलियों के बाद

तो देता है कहते हैं:

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

यह मदद कर सकता है: http://stackoverflow.com/questions/311052/setting-css-pseudo-class-rules-from-javascript – WTK

+0

जैसा कि आप इसका उपयोग कर रहे हैं, jQuery टैग जोड़ा गया है। –

उत्तर

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: "''" 
}); 

एक न्यूनतम कार्यान्वयन। आप संभवतः आपके द्वारा जोड़े गए नियमों का ट्रैक रखना चाहते हैं ताकि आप उन्हें हटा सकें। sheet.insertRule नए नियम की अनुक्रमणिका देता है जिसे आप संपादित या हटाने के लिए इसका संदर्भ प्राप्त करने के लिए उपयोग कर सकते हैं।

संपादित करें: किसी ऑब्जेक्ट को सुविधा के लिए एक सीएसएस प्रॉपर्टी स्ट्रिंग में बदलने के लिए मूलभूत कार्यक्षमता जोड़ा गया।

+0

'सामग्री' जैसा लगता है: 'संपत्ति शामिल नहीं हो रही है। –

संबंधित मुद्दे