gpt4 book ai didi

Javascript获取CSS伪元素属性的实现代码

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Javascript获取CSS伪元素属性的实现代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

CSS伪元素非常强大,它经常被用来创建CSS三角形提示,使用CSS伪元素可以实现一些简单的效果但又不需要增加额外的HTML标签。有一点就是Javascript无法获取到这些CSS属性值,但现在有一种方法可以获取到:

看看下面的CSS代码:

?
1
2
3
4
5
6
7
.element:before {
   content : 'NEW' ;
   color : rgb ( 255 , 0 , 0 );
}.element:before {
     content : 'NEW' ;
     color : rgb ( 255 , 0 , 0 );
}

为了获取到.element:before的颜色属性,你可以使用下面的代码:

?
1
2
3
4
5
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 属性值的方法.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<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>

最后此篇关于Javascript获取CSS伪元素属性的实现代码的文章就讲到这里了,如果你想了解更多关于Javascript获取CSS伪元素属性的实现代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com