Javascript で CSS の :after スタイルを設定できますか?
では、次のように言いましょう:
$("#foo li:after").css("left","100px");
ベストアンサー1
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
新しいルールのインデックスを返します。このインデックスを使用して、編集または削除のための参照を取得できます。
編集: 利便性のために、オブジェクトを CSS プロパティ文字列に変換する基本機能を追加しました。