如何更改:before(伪元素)元素(使用jQuery)的属性
问题描述:
告诉我如何更改元素的属性:before?如何更改:before(伪元素)元素(使用jQuery)的属性
例如:
CSS:
.myclass:before {
content: '';
position: absolute;
left: 40px;
top: -10px;
}
jQuery的
myElement.addClass('myclass');
我想改变:
从
left: 40px
到
left: 100px
我怎么能这样做?
答
伪元素不是DOM的一部分,所以他们不能使用jQuery或Javascript进行操作。
什么,你可以尝试是使用jQuery
$('head').append('<style>.myclass:before{left:100px;}</style>');
或将我喜欢的方式是添加已在其CSS规则留下100像素其他类直接插入CSS
CSS
.myclass.active:before {
left: 100px;
}
jQuery的
$("#myElement.myclass").addClass("active");
答
Afaik没有直接的方法来做到这一点。如果你真的想更新CSS规则 - 那么你需要去浏览器的CSSOM interfaces。但是在大多数情况下,只需定义单独的CSS规则就可以更容易,该规则在为元素分配额外的CSS类时为:before
伪元素进行必要的更新。