用JS修改伪类/元素的样式

在不能修改HTML和CSS的前提下,如果要用JS修改伪类可以这样做:

原本的代码:

<style>

li:before{content:"·"}

</style>

<ul>

  <li>日曜日</li>

  <li>月曜日</li>

  <li>火曜日</li>

  <li>水曜日</li>

  <li>木曜日</li>

  <li>金曜日</li>

  <li>土曜日</li>

</ul>

 

添加的JavaScript:

var style = document.createElement("style");

var text = document.createTextNode("ul li:before{content:"*";}");

style.appendChild(text);

document.body.appendChild(style);

 

如上,可以通过JavaScript创建嵌入的样式将原本伪类/元素的样式覆盖掉即可。

注意,新的选择器的权值一定要比原本选择器的权值高(参考CSS选择器优先级)

 

另外,支持querySelector的浏览器也是可以选择伪类的,但那样做要写很多代码,还要考虑兼容性,不如使用这种方式!

 

 

以上!

adam

 

转载于:https://www.cnblogs.com/adam-tp/p/4724423.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用JavaScript动态修改伪类元素样式时,需要通过操作元素的style属性来实现。假设有一个元素伪类选择器是::before,下面是一个示例的代码: 首先,我们需要获取到要修改元素。可以使用querySelector()方法来选择元素,通过指定其父元素的选择器以及伪类选择器,如: ```javascript var element = document.querySelector('.parent-element::before'); ``` 接下来,我们可以通过修改元素的style属性来改变伪类元素样式。可以通过为style属性设置属性值,来修改伪类元素样式。例如,如果要修改伪类元素的颜色,可以使用以下代码: ```javascript element.style.color = "red"; ``` 如果要修改伪类元素的背景色,可以使用以下代码: ```javascript element.style.backgroundColor = "blue"; ``` 类似地,可以通过修改其他的CSS样式属性来改变伪类元素样式,比如字体大小、边框样式、文字对齐方式等。 值得注意的是,伪类元素样式可以通过修改元素的style属性来实现,但这种方式只能在内联样式中生效,无法通过外部样式表或内部样式表来实现。另外,在支持伪类元素样式修改的浏览器中使用此方法是可行的,但并不是所有浏览器都支持这种方式。 综上所述,使用JavaScript动态修改伪类元素样式,可以通过获取到要修改元素,并通过修改其style属性来改变伪类元素样式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值