为了账号安全,请及时绑定邮箱和手机立即绑定

通过JavaScript更改CSS伪元素样式

通过JavaScript更改CSS伪元素样式

慕森王 2019-08-02 17:32:19
通过JavaScript更改CSS伪元素样式是否可以通过JavaScript更改CSS伪元素样式?例如,我想动态设置滚动条的颜色,如下所示:document.querySelector("#editor::-webkit-scrollbar-thumb:vertical").style.background = localStorage.getItem("Color");而且我也希望能够像这样告诉滚动条隐藏:document.querySelector("#editor::-webkit-scrollbar").style.visibility = "hidden";但是,这两个脚本都返回:未捕获的TypeError:无法读取null的属性'style'还有其他方法可以解决这个问题吗?跨浏览器的互操作性并不重要,我只需要它在webkit浏览器中工作。
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

技术上讲,这一种通过JavaScript直接更改CSS伪元素样式的方法,如本答案所述,但此处提供的方法更可取。

在JavaScript中最接近改变伪元素的样式是添加和删除类,然后使用伪元素和这些类。隐藏滚动条的示例:

CSS

.hidden-scrollbar::-webkit-scrollbar {
   visibility: hidden;}

JavaScript的

document.getElementById("editor").classList.add('hidden-scrollbar');

要稍后删除同一个类,您可以使用:

document.getElementById("editor").classList.remove('hidden-scrollbar');


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 507 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信