`
caibinghong
  • 浏览: 143057 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

获取页面元素的有效样式值

阅读更多

二是如果一个元素是100像素高,想获取他的当前高度,如果希望从样式属性中就能得到100px这样的精确结果,但是有时候并不能如愿。这是因为在 使用样 式表或者行内css所预设的样式信息并不能精确可靠的反应到当前的样式属性中。

所以以下方法可以找精确的找到对应的元素值:

 

 

 

写道
function getStyle(elem,name){
if(elem.style[name])
return elem.style[name];
else if(elem.currentStyle)
{
return elem.currentStyle[name];

}
else if(document.defaultView&&document.defaultView.getComputedStyle)
{
name=name.replace(/[A-Z]/g,"-$1");
name=name.toLowerCase();
var s=document.defaultView.getComputedStyle(elem,"");
return s&&s.getPropertyValue(name);

}
else return null;
} 
 

 

 

 

这个方法里头的关键字介绍:

currentStyle
(
   表示的是实际的属性 :
   例如:行内样式是  100px  而样式表样式是200是px!important  那么 这个实际属性值就是200px
)

这一特定于 IE 的属性应用于元素的所有 CSS 属性的级联组。它是 Window.getComputedStyle() 的仅用于 IE 的替代。

当你无法确定元素的样式在哪里被定义,或元素同时被内联样式 和 CSS 规则定义又不能确定哪一处定义是最优先级的,这时你需要获取其最终呈现的样 式:

IE 为每个元素 提供的 currentStyle 对象;

FF(other) DOM 则从 document.defaultView 对象中访 问 getComputedStyle() 方法;(同样这个也是获取实际样式的值)

 

 


分享到:
评论

相关推荐

    js正确获取元素样式详解

    在说js获取元素样式之前,简单地谈一下样式 样式分三种 外部样式 External Style Sheet 以CSS为扩展名的文件(又称为”超文本样式表”文件),它的作用范围可以是多张网页,或整个网站,甚至不同的网站。与网页链接...

    获取元素内联样式、偏移量.md

    获取元素节点行内样式、内联样式、外链样式(兼容性问题)、获取元素在页面上的偏移量(有定位和没有定位的注意点)、附代码演示。

    js获取元素外链样式的方法

    但是如果样式是在外链link中的或者是页面的非行内样式,就获取不到了。 在标准浏览器中可以通过window.getComputedStyll(obj,null)[property]来获取外链样式,但是在ie浏览器中则是通过obj.currentStyle来获取。 ...

    js 获取元素的具体样式信息getcss(实例讲解)

    如果想获取元素的某一个具体的样式属性值 1、元素.style.属性名 需要我们把元素的样式都写在行内样式上才可以(写在样式表中是不管用的) console.log(box.style.height) ->null 在真实项目中,这种方式不常用,...

    Vue获取DOM元素样式和样式更改示例

    在 vue 中用 document 获取 dom 节点进行节点样式更改的时候有可能会出现 ‘style’ is not definde的错误,这时候可以在 mounted 里用 $refs 来获取样式,并进行更改: <!-- ... --> [removed]  ...

    原生JS实现获取及修改CSS样式的方法

    主要介绍了原生JS实现获取及修改CSS样式的方法,结合实例形式简单分析了JavaScript针对页面元素属性动态操作相关实现技巧,需要的朋友可以参考下

    js(javascript)获取网页源码

    /* 页面字体样式 */ body, td, input, textarea { font-family:Arial; font-size:12px; } </style> <script type="text/javascript"> //用于创建XMLHttpRequest对象 function createXmlHttp() { //根据...

    js监听滚动条改变导航元素位置和样式.rar

    使用原生js获取浏览器可是高度,滚动条高度,监听滚动条,滑动时 触发 改变导航元素位置,和子元素样式,适合新手参考借鉴!

    javascript获取作用在元素上面的样式属性代码

    代码如下: [removed] = function(){ var oDIv = document.getElementById(‘progressBox’); var sytleElemt = window.getComputedStyle(oDIv); for(var i=0;i<sytleElemt.length;i++){ if( typeof sytleElemt...

    javascript获取元素的计算样式

    在做html页面开发时,经常会使用到js(javascript)来处理客户端的逻辑,下面我们就来看一下,如何使用js来获取页面上的元素

    Javascript通过控制类名更改样式

    2. 为网页内的某个元素指定一个css样式来更改该元素的外观 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>className...

    js获取元素的外链样式的简单实现方法

    但是如果样式是在外链link中的或者是页面的非行内样式,就获取不到了。 在标准浏览器中可以通过window.getComputedStyll(obj,null)[property]来获取外链样式,但是在ie浏览器中则是通过obj.currentStyle来获取。 ...

    jQuery给元素添加样式的方法详解

    本文实例讲述了jQuery给元素添加样式的方法。分享给大家供大家参考,具体如下: 1、获取和设置样式 $(#tow).attr(class)//获取ID为tow的class属性 $(#two).attr(class,divClass)//设置Id为two的class属性。 2、...

    浅谈javascript获取元素transform参数

    之前写页面的时候有试过想用js获取某些元素的translate的数值什么的,但是translate又是transform的子样式(勉强说说),理所当然就是先获取transform样式,再读里面的值。 代码如下: body{-webkit-transform: ...

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

    CSS的样式分为三类: ...getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。返回的是一个CSS样式对象([object CSSStyleDeclaration]) currentStyle是IE浏览器的一个属性,返回的是CSS样式对象 el

    SASS用法指南

    你可以用它开发网页样式,但是没法用它编程。也就是说,CSS基本上是设计师的工具,不是程序员的工具。在程序员眼里,CSS是一件很麻烦的东西。它没有变量,也没有条件语句,只是一行行单纯的描述,写起来相当费事。 ...

    Jquery dataTable完整例子(取数据、分页、样式等)

    分页、排序、检索 Datatable与json之间数据转换,一个详细完整的例子!,希望对大家有用。

    JS中获取 DOM 元素的绝对位置实例详解

    在操作页面滚动和动画时经常会获取 DOM 元素的绝对位置,例如 本文 左侧的悬浮导航,当页面滚动到它以前会正常地渲染到文档流中,当页面滚动超过了它的位置,就会始终悬浮在左侧。 本文会详述各种获取 DOM 元素绝对...

    javascript获取指定节点父节点、子节点的方法

    我们在实际的开发当中经常要获取页面中某个html元素,动态的更新该元素的样式、内容属性等。 那么如何获取要更新的这些元素呢?用JavaScript获取这些节点的方法有很多种,下面是总结的一些方法.

Global site tag (gtag.js) - Google Analytics