有没有办法使用jQuery 选择/操作CSS伪元素,如::before和::after(以及带有一个分号的旧版本)?
例如,我的样式表具有以下规则:
.span::after{ content:'foo' }
Run Code Online (Sandbox Code Playgroud)
如何使用jQuery将'foo'更改为'bar'?
我在网上搜索,但没有找到任何东西.我正在尝试使用javascript更新文本框的占位符颜色,但我该怎么做?我有一个颜色选择器,颜色正在改变.
如果我在CSS中有这样的东西,我该如何更新它?
::placeholder {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<input placeholder="placeholder" />Run Code Online (Sandbox Code Playgroud)
是否有javascript命令来编辑它?就像是
document.getElementById('text').style.placeholderColor = newColor;
Run Code Online (Sandbox Code Playgroud) 你能用Javascript设置:使用css的样式吗?
所以我们说:
$("#foo li:after").css("left","100px");
Run Code Online (Sandbox Code Playgroud) 我目前在Webkit(Safari和Chrome)中遇到问题我尝试动态加载(innerHTML)一些html到一个div,html包含css规则(...),在html被渲染后没有加载样式定义(所以在视觉上我可以告诉样式不存在,如果我用javascript搜索它们没有找到样式).我尝试过使用jquery插件tocssRule(),它可以工作,但它太慢了.有没有其他方法让webkit动态加载样式?谢谢.帕特里克
如何从 javascript 更改 #abc 样式的 :before 内容?
<script>
document.getElementById('abc').style.content='-';
</script>
<style>
#abc:before{content:"+";}
</style>
Run Code Online (Sandbox Code Playgroud) 编辑2015-10-07 1624 CST
这个问题被标记为可能重复 - 我发布的原因是,其他问题的答案都没有提供我想要的所有信息,我想要一个简单而直接的方法来完成它.我可以控制样式表和规则的顺序,以便我引用正确的规则.我还希望得到关于这种方法在将来破坏方面的可行性的反馈.
请查看我在下面发布的评论,原因是我没有接受可能重复问题的答案的其他原因.
**原始问题如下**
我搜索了这样的问题,发现一些问题解决了问题的一部分,但没有检索和更改伪元素的CSS值,如::before和::after.
在来到这里之前我已经用谷歌搜索了网页,基本上我发现的是没有理想的方法来做到这一点.
我找到了一种适用于FF 40,IE 9和Chrome 45.0.2454.101 m的方法,但我想知道我是否忽视了某些可能导致我的方法在某些情况下破坏的东西.
我在网上看到的关于访问或更改伪元素的CSS值的答案,说你不能直接访问这些项,因为它们不是"DOM的一部分"和"DOM之外" "
他们说改变它们的唯一方法是创建一个新规则并将其附加到现有规则以覆盖编码值.
这是一个演示方法的片段:
function changeColor () { // Flip psedo element's background color
var newColor,
currentColor;
// Get the current color
currentColor= document.styleSheets[0].cssRules[0].style.backgroundColor;
// flip the color
newColor = (currentColor== "red") ? "aqua" : "red";
// Change the color
document.styleSheets[0].cssRules[0].style.backgroundColor = newColor;
// put color in top message
document.getElementById("colorIs").innerHTML = newColor;
// display colors
document.getElementById("displayColors").innerHTML =
"Pevious color was " …Run Code Online (Sandbox Code Playgroud)与此问题相关通过JavaScript更改CSS伪元素样式,有没有办法使用javascript我可以访问伪元素的样式属性?