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

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>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索属性
CSS伪元素
html css javascript、javascript改变css、html5 css javascript、javascript css、javascript 修改css,以便于您获取更多的相关知识。

时间: 2024-08-30 23:20:29

Javascript获取CSS伪元素属性的实现代码_javascript技巧的相关文章

Javascript获取CSS伪元素的属性

CSS伪元素非常强大,它经常被用来创建CSS三角形提示,使用CSS伪元素可以实现一些简单的效果但又不需要增加额外的HTML标签.有一点就是Javascript无法获取到这些CSS属性值,但现在有一种方法可以获取到: 看看下面的CSS代码: copytext  代码如下 复制代码 .element:before {     content: 'NEW';     color: rgb(255, 0, 0); }.element:before {  content: 'NEW';  color: r

JS获取和修改元素样式的实例代码_javascript技巧

1.获取元素样式: 可以通过元素的style属性,获取元素行内样式.style属性是一个对象,包括一系列样式属性.例如:color, backgourdColor. 上面讲的通过style属性获取元素样式,不推荐使用. 下面的一段代码,可以获取元素运行时的样式,即全局的样式.这种方式可以动态获取元素的样式,例如元素大小. // node:将要获取其计算样式的元素节点 // attr: 样式属性名称 function getCurrentStyle(node, attr) { var style

用JavaScript获取页面文档内容的实现代码_javascript技巧

JavaScript的document对象包含了页面的实际内容,所以利用document对象可以获取页面内容,例如页面标题.各个表单值. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js基础</title> </head> <body> <p>一. 用Documen

javascript获取URL参数与参数值的示例代码_javascript技巧

复制代码 代码如下: <script>                  function goto_url(url){                      var new_url = "http://shop.usteel.com/index.php?app=list_release";                      var d_date  = getParameter("date",url);                    

javascript下判断一个元素是否存在的代码_javascript技巧

1. 判断表单元素是否存在(一) 复制代码 代码如下: if("periodPerMonth" in document.theForm) { return true; } else{ return false; } 2. 判断页面元素是否存在 复制代码 代码如下: if(document.getElementById("XXX")) { //存在 } 3. 判断表单元素是否存在(二) 复制代码 代码如下: if(document.theForm.periodPerM

JavaScript获取当前页面上的指定对象示例代码_javascript技巧

JavaScript如何获取当前页面上的指定对象. 方法如下: 复制代码 代码如下: document.getElementById(ID) //获得指定ID值的对象 document.getElementsByName(Name) //获得指定Name值的对象数组 document.all[] //很智能的东东 不过非WEB标准 document.getElementsByTagName //获得指定标签值的对象数组 下面给出例子,只需把注释去掉直接运行就可看出效果. 复制代码 代码如下: <

javascript获取下拉列表框当中的文本值示例代码_javascript技巧

近日碰到一个问题,就是需要将用户点击下拉列表当中某个选项后,将其所选的内容保存起来,例如下面的HTML代码: 复制代码 代码如下: <select onchange="isSelected(this.value);" id="city"> <option value="1">北京</option> <option value="2" >上海</option> <

JS获取CSS样式(style/getComputedStyle/currentStyle)_javascript技巧

CSS的样式分为三类: 内嵌样式:是写在Tag里面的,内嵌样式只对所有的Tag有效. 内部样式:是写在HTML的里面的,内部样式只对所在的网页有效. 外部样式表:如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这 些样式(Styles)的网页里引用这个CSS文件. getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值.返回的是一个CSS样式对象([object CSSStyleDeclar

用Javascript 和 CSS 实现脚注(Footnote)效果_javascript技巧

不过,既然脚注有这些好处,我们当然要在网页中也加以利用,本文向您介绍了用 Javascript 和 CSS 实现脚注效果的方法. 复制代码 代码如下: <script type="text/javascript"> // 说明:用 Javascript 和 CSS 实现脚注(Footnote)效果 var footNotes = function(){}; footNotes.prototype = { footNoteClassName : "footnote&