当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javaScript 读取和设置文档元素的样式属性

Javascript
javascript下拉框不被选中大类的区别方法
firefox浏览器下javascript 拖动层效果与原理分析代码
javascript 常用关键字列表集合
[原创]后缀就扩展名为js的文件是什么文件
初学JS的的小例子 javascript replace高亮替换
项目实践之javascript技巧
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
javascript数组使用调用方法汇总
JS的递增/递减运算符和带操作的赋值运算符的等价式
JavaScript开发时的五个注意事项
js中将多个语句写成一个语句的两种方法小结
javascript while语句和do while语句的区别分析
带参数的function 的自运行效果代码
看了就知道什么是JSON
js模拟实现Array的sort方法
JavaScript创建命名空间(namespace)的最简实现
文本链接逐个出现的js脚本
我见过最全的个人js加解密功能页面
CLASS_CONFUSION JS混淆 全源码
javascript轻松控制表格列样式的脚本代码

Javascript 中的 javaScript 读取和设置文档元素的样式属性


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 451 ::
收藏到网摘: n/a

有时候我们需要用js设置文档的样式属性,下面就是一些方法与原理分析,大家可以看下,应该就没问题了。 首先我们先说一下样式表属性
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函数提取数字,以方便后面的操作