我需要更改下一个 HTML 元素的 after 和 before 伪元素的content属性,而不使用 jQuery 之类的库。如果我用 CSS 做类似的事情,它会是这样的:
#text::before{background:red;display:block,content:"HolaMundo";}
#text::after{background:blue;color:red,font-size:100px;}
用Javascript做这件事的方法是什么?
var text = document.getElementById("text");
text...
您可以设置 ::after 和 ::before 以默认加载属性的内容。
在示例中,我使用了“title”属性:
然后用 Javascript 更新它。
任何一个
不幸的是,无法直接使用 JavaScript 选择或更改伪元素。但是,它可以通过 CSS 和 JavaScript 的组合来完成。例如,您可以在 psuedo 元素中创建一些具有不同内容的类,并使用 JavaScript 更改该类:
CSS:
JavaScript:
正如他们所说,您不能更改伪元素,因为它们不属于 DOM。
在下面的代码中,我在属性选择器的帮助下进行了模拟,并介绍了它是如何完成的:
js
您可以做的一件事是创建一个元素
<style id="myStyle">
,您可以在其中添加内容,从而对情况有更多的控制。我已经使用它并且效果很好。