我已经动态地改变了在CSS中定义的en元素的位置,使用:after
。 我试图这样改变它:jQuery和伪元素
$(function(){
$('div::after').css({'top':'20px'})
})
但它不工作。有没有办法改变立场?
我已经动态地改变了在CSS中定义的en元素的位置,使用:after
。 我试图这样改变它:jQuery和伪元素
$(function(){
$('div::after').css({'top':'20px'})
})
但它不工作。有没有办法改变立场?
你不行。由:after
或:before
创建的内容不是DOM的一部分,因此无法选择或修改。
如果你看看这个example fiddle并检查Firebug或类似的DOM,你会看到伪元素不存在于DOM树中。
一个潜在的解决方案是一类适用于要更改的元素,并适当风格类CSS:
$("div").addClass("newClass");
添加CSS:
p.special:before {
content: "bar";
position: absolute;
top : 10px;
}
假设样式表,其中上面把代码是页面上的第一个,使用它来改变它:
document.styleSheets[0].addRule('p.special:before','top: 15px;');