繁体   English   中英

如何更改:before(伪元素)元素的属性(使用jQuery)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM