javascript - 更改 :before selector from javascript

标签 javascript css pseudo-element

<分区>

如何从 javascript 更改#abc 样式的 :before 内容?

<script>
document.getElementById('abc').style.content='-';
</script>

<style>
#abc:before{content:"+";}
</style>

最佳答案

不,您不能从 javascript 访问 :before:after,因为它们不是 DOM 的一部分。然而,您仍然可以通过使用 CSS 类来实现您的目标:

<script>
    document.getElementById('abc').className = "minus";
</script>

<style>
    #abc:before {content: "+";}
    #abc.minus:before {content: "-"}
</style>

事实上,这种方法更不引人注目,因为您没有将表示与 javascript 混合使用。明天您可能想更改文本“+/-”以显示漂亮的背景图片,在这种情况下您根本不必接触 javascript 代码。

关于javascript - 更改 :before selector from javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22659170/

相关文章:

javascript - 我们可以在网页以外的地方使用Javascript吗?

php - 从网络客户端访问 REST API 的最佳方式是什么?

javascript - Jquery datepicker月/年菜单问题

css - 带有伪元素的 IE8 Bug

html - 我可以使用 :before or :after pseudo-element on an input field? 吗

javascript - 使 div 元素向右移动

html - 使用相对位置时如何获取引导卡下方的内容

css - 悬停时连续的 CSS 旋转动画,悬停时动画回到 0deg

css - HTML 字体大小 62.5% - 如何计算行高?

html - CSS 为混合应用程序页面创建非矩形标题