Javascript獲取CSS偽元素屬性的實(shí)現(xiàn)代碼
CSS偽元素非常強(qiáng)大,它經(jīng)常被用來創(chuàng)建CSS三角形提示,使用CSS偽元素可以實(shí)現(xiàn)一些簡(jiǎn)單的效果但又不需要增加額外的HTML標(biāo)簽。有一點(diǎn)就是Javascript無法獲取到這些CSS屬性值,但現(xiàn)在有一種方法可以獲取到:
看看下面的CSS代碼:
.element:before {
content: 'NEW';
color: rgb(255, 0, 0);
}.element:before {
content: 'NEW';
color: rgb(255, 0, 0);
}
為了獲取到.element:before的顏色屬性,你可以使用下面的代碼:
var color = window.getComputedStyle(
document.querySelector('.element'), ':before'
).getPropertyValue('color')var color = window.getComputedStyle(
document.querySelector('.element'), ':before'
).getPropertyValue('color')
把偽元素作為第二個(gè)參數(shù)傳到window.getComputedStyle方法中就可以獲取到它的CSS屬性了。把這段代碼放到你的工具函數(shù)集里面去吧。隨著偽元素被越來越多的瀏覽器支持,這個(gè)方法會(huì)很有用的。
譯者注:window.getComputedStyle方法在IE9以下的瀏覽器不支持,getPropertyValue必須配合getComputedStyle方法一起使用。IE支持CurrentStyle屬性,但還是無法獲取偽元素的屬性。
準(zhǔn)確獲取指定元素 CSS 屬性值的方法。
<script type="text/javascript">
function getStyle( elem, name )
{
//如果該屬性存在于style[]中,則它最近被設(shè)置過(且就是當(dāng)前的)
if (elem.style[name])
{
return elem.style[name];
}
//否則,嘗試IE的方式
else if (elem.currentStyle)
{
return elem.currentStyle[name];
}
//或者W3C的方法,如果存在的話
else if (document.defaultView && document.defaultView.getComputedStyle)
{
//它使用傳統(tǒng)的"text-Align"風(fēng)格的規(guī)則書寫方式,而不是"textAlign"
name = name.replace(/([A-Z])/g,"-$1");
name = name.toLowerCase();
//獲取style對(duì)象并取得屬性的值(如果存在的話)
var s = document.defaultView.getComputedStyle(elem,"");
return s && s.getPropertyValue(name);
//否則,就是在使用其它的瀏覽器
}
else
{
return null;
}
}
</script>
- jQuery修改CSS偽元素屬性的方法
- django創(chuàng)建css文件夾的具體方法
- Vue實(shí)現(xiàn)Tab標(biāo)簽路由效果并用Animate.css做轉(zhuǎn)場(chǎng)動(dòng)畫效果的代碼
- Vue3新特性之在Composition API中使用CSS Modules
- javascript+css實(shí)現(xiàn)俄羅斯方塊小游戲
- js+css實(shí)現(xiàn)全屏側(cè)邊欄
- 詳解VScode自動(dòng)補(bǔ)全CSS3前綴插件以及配置無效的解決辦法
- jQuery+css實(shí)現(xiàn)的點(diǎn)擊圖片放大縮小預(yù)覽功能示例【圖片預(yù)覽 查看大圖】
- 詳解CSS偽元素的妙用單標(biāo)簽之美
相關(guān)文章
Javascript中 帶名 匿名 箭頭函數(shù)的重要區(qū)別(推薦)
這篇文章主要介紹了Javascript中 帶名 匿名 箭頭函數(shù)的重要區(qū)別,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01
BootStrap自定義popover,點(diǎn)擊區(qū)域隱藏功能的實(shí)現(xiàn)
下面小編就為大家分享一篇BootStrap自定義popover,點(diǎn)擊區(qū)域隱藏功能的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01
JS保留小數(shù)點(diǎn)(四舍五入、四舍六入)實(shí)現(xiàn)思路及實(shí)例
保留兩位小數(shù):將浮點(diǎn)數(shù)四舍五入,取小數(shù)點(diǎn)后2位;如:2,會(huì)在2后面補(bǔ)上00.即2.00,感興趣的朋友看下具體的實(shí)現(xiàn)思路及代碼2013-04-04
JavaScript實(shí)現(xiàn)圖形驗(yàn)證碼完整代碼
很多小伙伴都在學(xué)習(xí)JavaScript,可能也會(huì)有老師提出這樣一個(gè)問題,如何用js編寫一個(gè)簡(jiǎn)單的驗(yàn)證碼,這里就和大家分享一下,這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)圖形驗(yàn)證碼的相關(guān)資料,需要的朋友可以參考下2024-01-01
Bootstrap3 內(nèi)聯(lián)單選和多選框
這篇文章主要介紹了Bootstrap3 內(nèi)聯(lián)單選和多選框的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12

