国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript獲取CSS偽元素屬性的實現代碼

2019-11-20 14:04:52
字體:
來源:轉載
供稿:網友

CSS偽元素非常強大,它經常被用來創建CSS三角形提示,使用CSS偽元素可以實現一些簡單的效果但又不需要增加額外的HTML標簽。有一點就是Javascript無法獲取到這些CSS屬性值,但現在有一種方法可以獲取到:

看看下面的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')

把偽元素作為第二個參數傳到window.getComputedStyle方法中就可以獲取到它的CSS屬性了。把這段代碼放到你的工具函數集里面去吧。隨著偽元素被越來越多的瀏覽器支持,這個方法會很有用的。

譯者注:window.getComputedStyle方法在IE9以下的瀏覽器不支持,getPropertyValue必須配合getComputedStyle方法一起使用。IE支持CurrentStyle屬性,但還是無法獲取偽元素的屬性。

準確獲取指定元素 CSS 屬性值的方法。

<script type="text/javascript"> function getStyle( elem, name ) {   //如果該屬性存在于style[]中,則它最近被設置過(且就是當前的)   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)   {     //它使用傳統的"text-Align"風格的規則書寫方式,而不是"textAlign"     name = name.replace(/([A-Z])/g,"-$1");     name = name.toLowerCase();     //獲取style對象并取得屬性的值(如果存在的話)     var s = document.defaultView.getComputedStyle(elem,"");     return s && s.getPropertyValue(name);   //否則,就是在使用其它的瀏覽器   }   else   {     return null;   } } </script>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 滦平县| 贵南县| 天峻县| 玛曲县| 鸡泽县| 泰和县| 新巴尔虎左旗| 西丰县| 杂多县| 兴宁市| 三原县| 衡山县| 专栏| 鹰潭市| 涞源县| 汉川市| 泊头市| 南宁市| 利川市| 清流县| 镇雄县| 宝清县| 错那县| 邯郸市| 富阳市| 黄平县| 隆德县| 黔西| 门头沟区| 新平| 方正县| 灯塔市| 扎鲁特旗| 汤原县| 读书| 新化县| 隆子县| 海原县| 临西县| 迭部县| 平凉市|