javaScript 读取和设置文档元素的样式属性
javaScript 读取和设置文档元素的样式属性
发布时间:2016-12-30 来源:查字典编辑
摘要:首先我们先说一下样式表属性1.内联样式即元素style属性里面设置的,级别最高2.页面样式表定义即页面里面定义的,级别次之3.外部链接样式表...

首先我们先说一下样式表属性

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">

asdfasdfas

</div>

<input type="button" value="点击" />

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函数提取数字,以方便后面的操作

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类