100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 获取css样式表内样式的js函数currentStyle(IE) defaultView(FF)【javascript】

获取css样式表内样式的js函数currentStyle(IE) defaultView(FF)【javascript】

时间:2022-10-04 19:17:16

相关推荐

获取css样式表内样式的js函数currentStyle(IE) defaultView(FF)【javascript】

web前端|js教程

样式表,内样式

web前端-js教程

可是DOM.style这种写法只能访问,这样在标签里内置的样式,如果样式写在

客户要源码,vscode检测不到cv2,ubuntu c stl,tomcat项目设置图标,爬虫应用开发,php 衡阳,濮阳网络seo推广怎么做,酒店网站素材lzw

,或者.css文件里,那么就办法读到样式了。

ios 应用源码,vscode解析工程,怎么卸载ubuntu的网卡模块,tomcat默认bio,sqlite 长日期时间,jquery loading插件,前端框架 基础知识,提高python 爬虫速度,php 获取几,tang seo,传媒广告网站源码,e语言网页框架源码,c2c模板,精美百度小程序官网v1.05lzw

其实呢,还有别的方法可以读到这些样式信息,方法有两种,一种是通过document.styleSheets对象,另一种是通过“最终样式”对象。其中 IE中这个对象叫做currentStyle,FF中这个对象叫做document.defaultView。我将这两个类打包了一下,做了一个用于访问 样式信息的函数,如下:

weather 源码,vscode工具栏,ubuntu穿搭,tomcat 8监控工具,ehentai爬虫,上海 php兼职,seo营销推广软件收录,php网站客服程序,h5 微信商城模板lzw

//===========================访问样式表函数====================================

function returnStyle(obj,styleName){

var myObj = typeof obj == "string" ? document.getElementById(obj) : obj;

if(document.all){

return eval("myObj.currentStyle." + styleName);

} else {

return eval("document.defaultView.getComputedStyle(myObj,null)." + styleName);

}

}

函数有两个参数:

obj:访问的对象,类型为DOM对象,或者是对象的id;

styleName: 需要访问的样式名称。类型为string,但是名称不能用”-“号,要用像style.对象的属性名一样的大小写混写名称,例如background-color要写成backgroundColor。

函数返回值为 string类型。

注意:这个方法只能访问样式文件,不能写。如果要写样式,还是要用DOM.style.XXX的方法。另外,FF下有些样式访问有问题,例如padding,margin。如果样式中设置了padding,margin等值,我们可以用marginLeft来返回值。

#demo{background-color:#000;padding:10px;color:#fff;width:200px;}

//===========================访问样式表====================================

function returnStyle(obj,styleName){

var myObj = typeof obj == "string" ? document.getElementById(obj) : obj;

if(document.all){

return eval("myObj.currentStyle." + styleName);

} else {

return eval("document.defaultView.getComputedStyle(myObj,null)." + styleName);

}

}

这里是测试内容

点击测试

===========================

function getStyle( elem, name ) {

//如果该属性存在于style[]中,则它最近被设置过(且就是当前的)

if (elem.style[name])

return elem.style[name];

//否则,尝试IE的方式

else if (elem.currentStyle)

return elem.currentStyle[name];

//或者W3C的方法,如果存在的话

else if (document.defaultView && document.defaultView.getComputedStyle) {

//它使用传统的"text-Align"风格的规则书写方式,而不是"textAlign"

name = name.replace(/([A-Z])/g,"-$1");

name = name.toLowerCase();

//获取style对象并取得属性的值(如果存在的话)

var s = document.defaultView.getComputedStyle(elem,"");

return s && s.getPropertyValue(name);

//否则,就是在使用其它的浏览器

} else

return null;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。