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

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

用js如何获取div中css的

margin、padding、height、border等。你可能说可以直接用documentgetElementById("id")stylemargin获取。但是你说的只能获取直接在标签中写的style的属性,无法获取标签style外的属性(如css文件中的属性)。而下面方法则两者值都可以获取。

实例效果图如下:

js在获取css属性时如果标签中无style则无法直接获取css中的属性,所以需要一个方法可以做到这点。

getStyle(obj,attr)

调用方法说明:obj为对像,attr为属性名必须兼容js中的写法(可以参考:JS可以控制样式的名称写法)。

Js代码

复制代码

代码如下:

function

getStyle(obj,attr){

var

ie

=

!+"\v1";//简单判断ie6~8

if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition写法,识别backgroundPositionX/Y

if(ie){

return

objcurrentStylebackgroundPositionX

+"

"+objcurrentStylebackgroundPositionY;

}

}

if(objcurrentStyle){

return

objcurrentStyle[attr];

}

else{

return

documentdefaultViewgetComputedStyle(obj,null)[attr];

}

}

用documentgetElementById(‘element’)stylexxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属性引用的外部样式表,就拿不到我们要的信息了。

DOM标准里有个全局方法getComputedStyle,可以获取到当前对象样式规则信息,如:getComputedStyle(obj,null)paddingLeft,就能获取到对象的左内边距。但是IE不支持此方法,它有自己的一个实现方式,那就是currentStyle,不同于全局方法getComputedStyle,它是作为DOM元素属性存在的,如:objcurrentStylepaddingLeft,在IE中就获取到对象的左内边距了,兼容性的写法如下:

return windowgetComputedStyle windowgetComputedStyle(obj,null)paddingLeft : objcurrentStylepaddingLeft;

以上就是关于js获取某元素的class里面的css属性值代码全部的内容,包括:js获取某元素的class里面的css属性值代码、js怎么获取css设置的样式、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10148899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存