javascript - 如何在 JavaScript 中选择 html5 范围的伪元素

标签 javascript css html css-selectors pseudo-element

是否可以选择<input type="range">用 JS 伪元素?

我可以为 ::-webkit-slider-runnable-track 这样的元素设置样式在我的 css 中,但是如果我想更改 ::-webkit-slider-runnable-track 怎么办?的 background-color在某些事件(例如按钮点击或其他)之后?

这可能吗?浏览器支持目前没有意义。

UPD:问题是如何通过 JS 设置 range 的伪元素的样式。 假设我需要动态更改范围的轨道颜色。 我不能只用 css 设置样式.

我真正需要的是类似

document.getelementById('id').getPseudoElementSomehow('-webkit-slider-runnable-track').style = 'background: green'

最佳答案

据我所知,你不能用Javascript直接选择伪元素。唯一的解决方案是使用 CSSStyleSheet.insertRule() 在预期事件上添加 css 规则。 .

var button = document.querySelector('button');
button.onclick = function() {
  document.styleSheets[0].insertRule('input[type=range]::-webkit-slider-runnable-track { background-color: red; }', 0);
};
.red {
  background-color: red;
}
<input type="range">
<button>click me</button>

关于javascript - 如何在 JavaScript 中选择 html5 范围的伪元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36397966/

相关文章:

javascript - 函数返回不起作用

html - Bootstrap 词缀不起作用

javascript - Drupal 上的 Advagg 显示多个 css 和 js 文件?

html - 导航栏不显示任何内容

html - 具有多个 div 的 CSS 最小高度 100%

javascript - 如何在javascript中获取ckeditor iframe对象

javascript - Django:在表编辑期间未访问 View

pdf - 使用 JavaScript 将 Excel 转换为 PDF

html - 如何使 div 居中且所有边与包装器等距

html - z-index 在我的轮播工具提示上不起作用