`

JS获取CSS属性值

阅读更多
obj.style方法,这个方法只能JS只能获取写在html标签中的写在style属性中的值(style="..."),看一下代码
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
: X- [% m, M0 U7 L& I8 Y0 j! ^3 N<html xmlns="http://www.w3.org/1999/xhtml">
l; N- F( Y% [; R+ ^* c<head>
6 M- n1 N1 t1 x<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />% O( wK5 ^$ s# qr6 bG( v/ l
<title>JS获取CSS属性值</title>" o% E9 b" e4 B. _; a9 P! V/ H
<style type="text/css">( ?9 E0 j7 x8 u8 _
<!--. }" h0 ^+ s; z- P$ `
.ss{color:#cdcdcd;}: I& [5 R; ^3 _6 v
-->
1 V1 j" ~3 D( D0 s9 {. l</style>- N2 L4 P; I2 T9 j3 R
</head>. q: {. l; M) G1 J! F, }, I" z
<body>: O% \# ?5 Q; u; g) P8 i
<div id="css88" class="ss" style="width:200px; height:200px; background:#333333">JS获取CSS属性值</div>- U8 w+ o5 t! Z# A: {3 f
<script type="text/javascript">7 Y( [/ q: A) |1 A
alert(document.getElementById("css88").style.width);//200px ! q+ s7 B& G4 I8 A
alert(document.getElementById("css88").style.color);//空白
0 wX# cF; N# E4 C* W</script> ' N7 N: K: q8 v2 K; {+ E
</body>
. E, H4 n3 W$ l: ]& p' RE- i6 D</html>
[/code]
上面这个例子对id为"css88"的div设置了2种烦事的样式,包括style和外部样式class。
1 ^0 F/ S* G" g! F- u9 y. d9 q0 A+ ~U# S+ q$ X1 R
从alert出来的信息可以看到,document.getElementById("css88").style方法获取不到class为ss的属性和值。
+ r4 \% q6 D4 w8 q0 T, u- G( F) Q3 m2 C+ b
那么这么样才能获取到class为ss的属性和值呢?
" H2 v8 u& Dp' B% v! C2 P* l! E0 }% c3 k
IE中使用的是obj.currentStyle方法,而FF是用的是getComputedStyle 方法。4 b- L. ^/ @# b0 w- y5 X

* c1 V$ |$ r( v5 j$ B) \' j9 p网上一个比较 方法是:
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
8 F; ^/ P& K" d4 A* B& d( y! C% G<html xmlns="http://www.w3.org/1999/xhtml">1 g/ m3 x) g! T6 q
<head>( e$ |! N% _( s1 m
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />x' q5 V8 K6 ~" ^
<title>S获取CSS属性值</title>6 n4 x' ]( b) ]- w1 K6 E* s

" z- J2 b/ ]% v8 f- `" J' l<style type="text/css">1 X/ X" U+ K# T4 c5 q; G- w# F4 w
<!--
; t4 m( C1 r- e.ss{background:blue; color:#cdcdcd; width:200px}
# g& y0 T# N0 t# Z' y-->
1 f0 N* x- ]8 I4 s7 x' I9 ^</style>
0 \6 E% Cv1 Q% m- `3 }</head>6 h2 c9 o1 d! U7 ^' t
( I& U" }0 J3 Q5 P7 Q
<body>1 `8 Xl' j8 l4 y; v* y
<p id="qq" class="ss" >sdf</p>7 U' v$ [D- ?1 U0 S5 ?
$ |w: u2 x6 V3 {( Z, G
<script type="text/javascript">
_3 L" v$ [0 _" C! x7 Z1 r; sfunction GetCurrentStyle (obj, prop) {
2 l/ K: D; G* V; ]9 \# s* A if (obj.currentStyle) { 2 d, j% j* T3 R& Z1 M) A/ g/ N
return obj.currentStyle[prop];
4 P5 n, |9 B5 {0 `- j/ e } 3 @$ e0 u% I/ f
else if (window.getComputedStyle) { + x# s, X+ Z7 \2 \
propprop = prop.replace (/([A-Z])/g, "-$1");
+ f) {2 O4 w) ?e9 @, C% K& N propprop = prop.toLowerCase ();
; N: T/ M% }" |! g3 W return document.defaultView.getComputedStyle (obj,null)[prop];
$ aH( E) q9 ?+ F }
8 O; N5 [9 _9 X/ E1 B return null; 8 N0 o3 \3 K1 a2 uf) k3 g7 m, u
} ; P3 @4 L$ d+ m3 o' g9 S* {
var dd=document.getElementById("qq");
, N0 |% b. E6 b( rkalert(GetCurrentStyle(dd,"width")); ! h6 z' G7 A/ T
</script>$ D& c# Z& Z1 p- ]5 K/ v
</body>
: w; c! o. ^# c7 \9 B</html>
[/code]
当然,如果您是引用外部的css文件同样适用。' N7 k% ]% fw8 k
. s/ j, M: v' g
另:可以将上面的方法简化为[code]function getDefaultStyle(obj,attribute){ // 返回最终样式函数,兼容IE和DOM,设置参数:元素对象、样式特性 : \, J( T2 e" [; E! O; d
return obj.currentStyle?obj.currentStyle[attribute]:document.defaultView.getComputedStyle(obj,false)[attribute]; . S/ {0 P# g. O/ _2 @
}
[/code]
分享到:
评论

相关推荐

    JS使用getComputedStyle()方法获取CSS属性值

    本文将详细阐述使用getComputedStyle()方法来获取CSS属性值的知识点。 首先,我们需要了解,在使用JavaScript获取CSS样式时,会遇到两个问题。第一个问题是,element.style属性只能获取到直接写在HTML标签的style...

    js控制css属性对照表

    本文将详细介绍如何利用JavaScript控制CSS属性,并提供一份详尽的属性对照表,帮助读者更好地理解和掌握这一技能。 #### 二、基础知识 ##### 2.1 CSS属性 CSS属性定义了HTML元素的外观和布局。它们由属性名和值...

    Javascript获取background属性中url的值

    总的来说,这篇文章分享了一个在JavaScript中获取CSS `background-image`属性中URL值的实用技巧,并强调了处理字符串和理解CSS属性值的重要性。对于正在学习或使用JavaScript的开发者来说,这种解决问题的方法是一个...

    js获取某元素的class里面的css属性值代码

    标签“js 获取属性值”进一步明确了讨论的主题,即如何通过JavaScript获取CSS属性值。 在提供的代码示例中,定义了一个名为`getStyle`的函数,该函数接受两个参数:`obj`表示目标元素,`attr`表示要获取的CSS属性名...

    javascript 获取特定的 CSS属性值

    在JavaScript中,获取...总之,JavaScript获取CSS属性值需要处理各种情况,包括内联样式、外部样式表以及浏览器兼容性问题。`getStyleValue`函数提供了一个基础解决方案,但更复杂的场景可能需要更高级的策略和API。

    原生javascript实现css属性的set和get

    在JavaScript中,对CSS属性进行设置和获取是前端开发中常见的操作。原生JavaScript提供了DOM对象的style属性,可以用来直接操作元素的内联样式。本文将深入探讨如何使用原生JavaScript来实现CSS属性的set和get方法,...

    用javascript获得css中的属性值的代码

    JavaScript 获取 CSS 属性值的代码 在 Web 开发中,获取 CSS 属性值是一项非常重要的任务,因为它可以帮助我们更好地控制网页的样式和布局。JavaScript 提供了多种方法来获取 CSS 属性值,本文将介绍其中的一些。 ...

    CSS属性在Javascript中对应表

    本篇文章将详细解析CSS属性在JavaScript中的对应关系,并探讨如何在JavaScript中操作这些属性。 1. **颜色属性**: - `color`:在JavaScript中,可以使用`element.style.color`来设置或获取元素的文本颜色。 - `...

    js 获取和设置css3 属性值的实现方法

    文章主要介绍了如何使用JavaScript获取和设置CSS3属性值,特别是对于新增的CSS3属性。这些新增属性如-webkit-transform、-webkit-skew等,由于其格式与传统的CSS属性有所不同,所以需要特别的处理方式。文章给出了...

    抓取网页图片,css和js

    爬虫需识别这些标签,提取`src`属性值作为JS文件的URL。对于内联脚本,可以直接处理脚本内容。JavaScript文件抓取的目的可能是为了理解网页的动态行为或提取其中的数据。 五、整个网页下载工具 这类工具,如HTTrack...

    JS.css代码及教程

    1. **DOM操作**:通过JavaScript,我们可以访问并操作DOM(Document Object Model),改变HTML元素的CSS属性,例如更改颜色、尺寸、位置等。例如: ```javascript var element = document.getElementById('...

    Javascript获取相同CSS样式的元素

    `:css`选择器允许你指定一个CSS属性和对应的值。 此外,jQuery还提供了`.filter()`方法,允许你提供自定义的过滤函数来筛选元素: ```javascript var redElements = $('*').filter(function() { return $(this)....

    js获取对象,数组所有属性键值(key)和对应值(value)的方法示例

    // 获取数组对象的所有属性值 console.log(getObjectValues(slideArray)); // 输出:[{"imgsrc1":"a.jpg"},{"imgsrc2":"b.jpg"},{"imgsrc3":"c.jpg"},{"imgsrc4":"d.jpg"},{"imgsrc5":"e.jpg"}] ``` 4. 在线测试和...

    JavaScript访问CSS属性的几种方式介绍_.docx

    JavaScript访问CSS属性主要涉及两种方式:通过元素访问和直接访问样式表,以及一个重要的概念——运行时样式。这两种方法在JavaScript中用于动态操作网页样式,提供了丰富的可能性。 1. **通过元素访问** 这种方式...

    js改变css样式

    JavaScript(简称JS)和CSS是Web开发中的两个关键技术,它们分别负责网页的交互逻辑与样式设计。在本文中,我们将深入探讨如何使用JavaScript来动态地改变CSS样式,以实现如标题所示的效果——通过页面JS事件改变...

    jQuery css() 方法动态修改CSS属性

    设置单个 CSS 属性值时,css() 方法接受两个参数,第一个参数为 CSS 属性名称,第二个参数为相应的值。例如,若要将 div 元素的背景颜色设置为黄色,可以使用:$("div").css("background-color", "yellow")。 设置...

    用jquery修改元素css的height属性值

    本文将详细讲解如何使用 jQuery 修改元素的 CSS `height` 属性值,以便实现动态调整元素高度的功能。 首先,我们需要理解 `height` 这个 CSS 属性。在 CSS 中,`height` 属性用于设置元素的高度,可以是绝对值(如...

Global site tag (gtag.js) - Google Analytics