我明白了:
您无法通过 JavaScript 修改伪元素,因为它们不是 DOM 的一部分
我还知道我们可以通过附加 style -- more来在伪元素中添加属性。
然而,附加的解决方案只能增加价值。添加并不意味着能够动态改变。我还需要有替换属性值的能力。
因此,我尝试使用attr()动态更改背景图像。不过,目前attr仅支持contentproperty - more。
那么我还可以在这里尝试什么呢?
为了添加更多问题的上下文,基本上,我想动态更新聊天中的头像图像。头像图像设置在伪元素(before和after)中。这是聊天 UI 的代码笔 - http://codepen.io/clintioo/pen/HAkjq
非常感谢!
正如您刚刚了解到的,目前attr()除了该属性之外,其他任何地方都不受支持。content如果您的要求是动态设置其他 CSS 属性,那么恐怕您无法单独在 CSS 中完成很多操作。最接近的方法是通过脚本动态生成静态 CSS,如您链接到的第一个问题的许多答案所示。
在用户头像的具体情况下,我不明白为什么你不只是使用img元素来标记它们,这将完全避免这个问题。