[英]how change properties of :before (pseudo-element) element (with jQuery)
告诉我如何更改元素的属性:之前?
例如:
CSS:
.myclass:before {
content: '';
position: absolute;
left: 40px;
top: -10px;
}
jQuery的
myElement.addClass('myclass');
我想改变:
从
left: 40px
至
left: 100px
我怎样才能做到这一点?
伪元素不是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");
Afaik没有直接的方法可以做到这一点。 如果您确实要更新CSS规则-那么需要进入浏览器的CSSOM界面 。 但是在大多数情况下,当为元素本身分配其他CSS类时,仅定义单独的CSS规则对:before
伪元素进行必要的更新应该更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.