可以用Javascript设置css的:after样式吗?
那么让我们说:
$("#foo li:after").css("left","100px");
最佳答案
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 属性字符串的基本功能。
关于Javascript 设置 CSS :after styles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7330355/