是否可以通过JavaScript更改CSS伪元素样式?
例如,我想动态设置滚动条的颜色,如下所示:
document.querySelector("#editor::-webkit-scrollbar-thumb:vertical").style.background = localStorage.getItem("Color");
Run Code Online (Sandbox Code Playgroud)
而且我也希望能够像这样告诉滚动条隐藏:
document.querySelector("#editor::-webkit-scrollbar").style.visibility = "hidden";
Run Code Online (Sandbox Code Playgroud)
但是,这两个脚本都返回:
未捕获的TypeError:无法读取null的属性'style'
还有其他方法可以解决这个问题吗?
跨浏览器的互操作性并不重要,我只需要它在webkit浏览器中工作.
我有一个CSS课程
.Foo
{
width:20px;
}
Run Code Online (Sandbox Code Playgroud)
使用Jquery我想在事件上做类似的事情:
$(".Foo").css("width", "40px");
Run Code Online (Sandbox Code Playgroud)
这不起作用.这是错误的方法吗?我应该使用addClass()和removeClass()吗?
编辑:我发现了我的问题.这个命令确实有效.在我的特定应用程序中,在使用命令之前我没有使用类创建元素,因此在创建它们时没有任何更改.
基本上这个命令不会改变CSS样式规则,只改变使用该类的元素.