告诉我如何更改元素的属性:before?
例如:
的CSS:
.myclass:before {
content: '';
position: absolute;
left: 40px;
top: -10px;
}
jquery的
myElement.addClass('myclass');
我想改变:
这
left: 40px
到
left: 100px
我该怎么做?
答案 0 :(得分:2)
伪元素不是DOM的一部分,因此不能使用jQuery或Javascript来操作它们。
你可以尝试使用jQuery直接插入css
$('head').append('<style>.myclass:before{left:100px;}</style>');
或者我喜欢的方式是添加另一个在CSS规则中保留100 px的类
<强> CSS 强>
.myclass.active:before {
left: 100px;
}
<强>的jQuery 强>
$("#myElement.myclass").addClass("active");
答案 1 :(得分:0)
Afaik没有直接的方法来做到这一点。如果您真的想要更新CSS规则 - 那么您需要转到浏览器的CSSOM interfaces。但在大多数情况下,在为元素本身分配额外的CSS类时,定义单独的CSS规则应该更容易,这些CSS规则会对:before
伪元素进行必要的更新。