zoukankan      html  css  js  c++  java
  • js(1)取样式表中的样式

    首先我们先说一下样式表属性
    1. 内联样式即元素style属性里面设置的,级别最高
    2. 页面样式表定义即页面<style></style>里面定义的,级别次之
    3.外部链接样式表文件
    JavaScript获取和设置文档元素的css属性:
    1.获取元素Style属性里面设置的样式属性,
    document.getElementById(id).style.height;
    有,则返回属性值;没有则返回空
    IE和火狐皆然,只是有的属性值返回可能不一样,比如像颜色火狐返回rgb,而IE是返回十六进制数字
    测试代码:
    <script type="text/javascript">
    function getCss(){
    alert(document.getElementById("aaa").style.height);
    alert(document.getElementById("aaa").style.backgroundColor);
    alert(document.getElementById("aaa").style.width);
    document.getElementById("aaa").style.backgroundColor = ‘#dbdbdb';
    //alert(myWidth);
    }
    </script>
    <div id="aaa" class="bbb" style="height:20px; background-color:#FF0000;">
    asdfasdfas
    </div>
    <input type="button" value="点击" onclick="getCss();" />
    2.有时候我们的样式可能有多个地方设置了,我们也不知道它到底是外部样式表属性起作品,还是在内联样式里面起作用,所以我们就需要获取当前页面渲染的属性值。这个在IE和FF里面有些不同:
    示例代码片断:
    IE:document.getElementById('aaa').currentStyle.height
    FF标准:document.defaultView.getComputedStyle(aaa,null).getPropertyValue('height')
    这两个属性是只读的,若要改变元素样式还得使用style,它直接写在元素style属性里面级别最高起作用
    3.写一个兼容IE和FF的函数来调用

    复制代码 代码如下:

    function getRealStyle(id,styleName) {
    var element = document.getElementById(id);
    var realStyle = null;
    if (element.currentStyle)
    realStyle = element.currentStyle[styleName];
    else if (window.getComputedStyle)
    realStyle = window.getComputedStyle(element,null)[styleName];
    return realStyle;
    }


    调用:cur_height = parseInt(getRealStyle(CON_ID,'height'));
    P.S:返回值通常会带有单位,需要使用parseInt函数提取数字,以方便后面的操作

  • 相关阅读:
    Sass
    小程序_统计字符
    小程序_乘法表
    abbreviation(缩写)
    Linux命令整理
    生出树状的文件夹结构
    Excel的使用技巧
    小程序_数字从小到大输出
    Delphi 之Inherited详解
    学习结构[记录]类型(4)
  • 原文地址:https://www.cnblogs.com/iloveyoucc/p/2762321.html
Copyright © 2011-2022 走看看