时间:2021-05-26
项目中时常会需要用到使用JavaScript来动态控制为元素(:before,:after)的样式,但是我们都知道JavaScript或jQuery并没有伪类选择器。这里总结一下几种常见的方法。
HTML
<p class="red">Hi, this is a plain-old, sad-looking paragraph tag.</p>
CSS
.red::before {content: 'red';color: red;}方法一
使用JavaScript或者jQuery切换<p>元素的类名,修改样式。
.green::before {content: 'green';color: green;}$('p').removeClass('red').addClass('green');方法二
在已存在的<style>中动态插入新样式。
document.styleSheets[0].addRule('.red::before','color: green');document.styleSheets[0].insertRule('.red::before { color: green }', 0);方法三
创建一份新的样式表,并使用JavaScript或jQuery将其插入到<head>中
// Create a new style tagvar style = document.createElement("style");// Append the style tag to headdocument.head.appendChild(style);// Grab the stylesheet objectsheet = style.sheet// Use addRule or insertRule to inject stylessheet.addRule('.red::before','color: green');sheet.insertRule('.red::before { color: green }', 0);jQuery
$('<style>.red::before{color:green}</style>').appendTo('head');方法四
使用HTML5的data-属性,在属性中使用attr()动态修改。
<p class="red" data-attr="red">Hi, this is plain-old, sad-looking paragraph tag.</p>.red::before {content: attr(data-attr);color: red;}$('.red').attr('data-attr', 'green');以上就是我们为大家整理的四种方法,如果大家有更好的方法,可以在下方的留言区讨论。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍了使用javascript,jQuery实现修改before,after伪类的样式,分享给大家,具体如下:最近遇到一个需要改变:before,:afte
问题js怎么去修改css伪类样式呢?但是js并没有伪类选择器,那么该怎么办呢?网上有不少方法,比如通过切换元素的类、在style中动态插入新的样式等。那么这里再
注:该表引自W3School教程伪元素的分类及作用:下面通过代码看下CSS伪类修改input选中样式的示例代码,代码如下所示:主要是用到了after伪类和字体符
a标签样式 一组专门的预定义的类称为伪类,主要用来处理超链接的状态。超链接文字的状态可以通过伪类选择符+样式规则来控制。伪类选择符包括: 总:a表示所有
超链接文字的状态可以通过伪类选择符+样式规则来控制。一组专门的预定义的类称为伪类,主要用来处理超链接的状态。超链接文字的状态可以通过伪类选择符+样式规则来控制。