用js實現(xiàn)before和after偽類的樣式修改的示例代碼
本文介紹了使用javascript,jQuery實現(xiàn)修改before,after偽類的樣式,分享給大家,具體如下:
最近遇到一個需要改變:before,:after 偽類的樣式,發(fā)現(xiàn)css中并不能直接選擇某一個元素的:before和:after偽類元素,所以特總結了使用javascript和jQuery改變元素的:before和:after偽類樣式的方法。
類如如下的html及樣式
<p class="red">Hello,are you kain?</p>
css樣式
.red:before {
content: 'red',
background-color : red
}
1.使用javascript或者jQuery切換,增加元素的類
.green:before {
content: 'green';
background-color: green;
}
$('p').addClass('green');
2.在存在的style文檔中動態(tài)插入樣式
document.styleSheet[0].addRule('.red:before','background-color:green');
document.styleSheet[0].insertRule('.red:before{background-color:green}',0);
3.創(chuàng)建一份新的樣式表,并使用JavaScript或jQuert將其插入到中
var style = document.creatElement('style');
document.head.appendChild(style);
sheet = style.sheet;
sheet.addRule('.red:before','background-color:green');
sheet.insertRule('.red:before{background-color:green}',0);
// jQuery
$('<style>.red:before{background-color:green}</style>').appendTo('head');
4.使用HTML5的data-屬性,在屬性中使用attr()動態(tài)修改。
在p標簽中增加data-attr="red"屬性,然后
$('red').attr('data-attr','green');
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Javascript attachEvent傳遞參數(shù)的辦法
找了半天找到的解決辦法,看介紹說是javascript的閉包問題,導致得不能直接讀取外部的那個函數(shù),不然就所有傳遞的參數(shù)都變?yōu)樽詈笠粋€了。2009-12-12
JavaScript中常用的五種數(shù)字千分位格式化方法
數(shù)字格式化是開發(fā)中經(jīng)常遇到的任務,特別是在需要為數(shù)字添加千分位符或控制小數(shù)位數(shù)時,以下是幾種常用的數(shù)字格式化方法,每種方法有其優(yōu)缺點,適用于不同的需求場景,感興趣的小伙伴跟著小編一起來看看吧2024-12-12

