js中style,currentStyle和getComputedStyle的区别以及获取css操作方法

一、style,currentStyle和getComputedStyle的区别

<script>

 function getStyle(obj, attr)  

{  

    if(obj.currentStyle)  

    {  

       return obj.currentStyle[attr];  //只适用于IE

    }  

    else  

    {  

       return getComputedStyle(obj,false)[attr];   //只适用于FF,Chrome,Safa

    }  

    return obj.style[attr]; //本人测试在IE和FF下没有用,chrome有用

}  

</script>

 window.onload=function()  

{  

    var oDiv=document.getElementByIdx_x(‘p1‘);  

    //alert(getStyle(oDiv,‘width‘));

    alert(getStyle(oDiv,‘margin-left‘));

//查询了相关资料发现问题如下:

//style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的。  (这里我测试的在IE和FF下没有用,Chrome下有用,所有有歧义)

//currentStyle可以弥补style的不足,但是只适用于IE。

//getComputedStyle同currentStyle作用相同,但是适用于FF、opera、safari、chrome。

 

//注意:

//currentStyle和getComputedStyle只能用于获取页面元素的样式,不能用来设置相关值。

//如果要设置相应值,应使用style。

 

</script>

</body>

</html>

 

二、获取css操作方法

1.用JS修改标签的 class 属性值:document.getElementByIdx_x( "tt" ).className = "txt";

2.用JS修改标签的 style 属性值:document.getElementByIdx_x( "t2" ).style.color = "red";

时间: 2024-10-13 11:15:55

js中style,currentStyle和getComputedStyle的区别以及获取css操作方法的相关文章

js中style,currentStyle和getComputedStyle的区别

js中style,currentStyle和getComputedStyle的区别 MarysMa 在js中用xx.style.marginTop是无法获取写在css或<sytle>标签中的margin-top之类的样式值(包括width,height等). 这就是style属性的限制: style :只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的.(内联样式: body中标签里用style直接写的样式.) currentStyle :可以弥补style的不足,但是只适用

JavaScript中style, currentStyle和 getComputedStyle的异同

今天在做项目的时候,习惯性的用到了element.style.width,然而浏览器却报错,错误提示是style is undefined,这是我才意识到,内联样式表和外联样式表在js应用中也有很大的不同! 首先样式表有三种,外联样式,内联样式,行间样式,element.style.attr只有在attr定义在行间样式时才生效,因此替代方案,currentStyle和getComputedStyle出现了. currentStyle是由微软提出来的,目的就是为了返回当前元素应用的属性,不管是外联

js中style.display=&quot;&quot;无效的解决方法

本文实例讲述了js中style.display=""无效的解决方法.分享给大家供大家参考.具体解决方法如下: 一.问题描述: 在js中我们有时想动态的控制一个div显示或隐藏或更多的操作,但如果我们style.display=""可能导致没有效果. 看下面一段代码: 复制代码代码如下: <style> #name {     display:none; }</style></head><body><div id=

js中callback.call()和callback()的区别

js中callback.call()和callback()的区别在js中callback.call()和callback() 有什么区别,举个例子:function a(){alert('hello!');}function b(callback){callback();}function c(callback){callback.call();}function test(){b(a);c(a);}在test函数中,b和c的效果是一样的,都执行了回调函数a.这两种用法有什么区别呢? -----

JS中的setTimeout和setInterval的区别

学了许久的javascript,发现其中非常常用的两个函数,就是setInterval和setTimeout函数,对这两个函数的理解,有时觉得很模糊,经过多次的试验,终于对它有了比较深入的了解.定义,setInterval()-- 间隔指定的毫秒数不停地执行指定的代码.setTimeout,延迟两秒调用函数,这个定义非常的简单,但是它并不像字面意思上那么的简 很多人都觉得这两个方法差不多,但是,实际上,他们差的很远呢     因为setTimeout(表达式,延时时间)在执行时,是在载入后延迟指

JS中style属性

JS中style属性现在我需要对这个标签赋值,其内容为: 1.需要显示的字为"HELLO WORLD": 2.span的 background-color : red ,另外还要:border:1px solid #333333;cursor:hand; 我需要在<script></script>内把他们赋值,请问怎么写呢?难道要: document.getElementById("a").style.background="red

JS中三目运算符和if else的区别分析与示例

本文是通过示例详细分析了JS中三目运算符和if else的区别,是篇非常不错的文章,这里推荐给大家. 今天写了一个图片轮播的小demo,用到了判断 先试了一下if else,代码如下: 复制代码代码如下: if(n >= count-1){n =0;}else{n ++;} 随后代码写完了,准备优化一下代码,将此段改成了三目运算符的写法 复制代码代码如下: n = n >= (count-1) ? n=0 : n++ 结果完全不同 随后研究了一下这两者的区别,总结为一句话:三目运算有返回值,i

JS中NaN、null、Undefined区别

1.NaN(not a number)非数字.不和任何数字相等,包括自己本身,可以用isNaN()判断,当praseInt()和praseFloat()不能解析时返回NaN.NaN为number对象下的一个属性,number.NaN typeof(NaN)   //return number NaN == NaN   //return FALSE 2.null 表示尚未存在的对象, 3.undefined表示尚未初始化   var a:alert(a)  //return undefined 在

JS中构造函数与普通函数的区别及JS构造函数、原型和实例的关系

JS中构造函数与普通函数的区别: https://www.cnblogs.com/cindy79/p/7245566.html JS构造函数.原型和实例的关系: https://blog.csdn.net/u012443286/article/details/78823955 JavaScript构造函数及原型对象: https://blog.csdn.net/a153375250/article/details/51083245 原文地址:https://www.cnblogs.com/jim