100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > IE及firefox下获取及设置样式值的代码【javascript】

IE及firefox下获取及设置样式值的代码【javascript】

时间:2023-02-05 22:50:14

相关推荐

IE及firefox下获取及设置样式值的代码【javascript】

web前端|js教程

设置,样式值

web前端-js教程

资源站系统源码,vscode终端空格无效,ubuntu切换软件,tomcat优化详细配置,sqlite3限制数据类型,君子兰土里长爬虫子怎么办,php金额大写,绍兴seo推广哪家便宜,产品库报价网站系统,模板扒手lzw

//<![CDATA[

function $(obj)

{

return document.getElementById(obj);

}

function getStyle(obj,styleName)

{

if(obj.currentStyle) //for ies

{

return obj.currentStyle[styleName]; //注意获取方式

}

else //for others

{

return document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleName);

//return document.defaultView.getComputedStyle(obj,null)[styleName];

}

}

$(tnGetClick).onclick=function()

{

//直接写在tag上的为内嵌样式、写在head-style里的为内部样式、link引入的为外部样式

//内嵌样式,可以通过Dom.style.样式名称获取,需要注意的是样式名称是驼峰格式

//内部样式和外部样式通过style.样式名称是无法获取到的,需要通过currentStyle || getComputedStyle来获取

//其实,这很好理解,内嵌样式的时候,tag具有style属性(该属性值返回的是object对象),那我们就可以通过style.样式名称来获取

//而内部或外部时,虽有style属性,但相应的值为空,所以就只有通过currentStyle || getComputedStyle来获取

//alert($(div2).style); 可以看到,弹出的结果为object,说明style是存在的,只是其下的相应样式设置为空而已。

$( estContent).innerHTML=\;

var str=$(div).style.styleFloat || $(div).style.cssFloat; //因为float是保留词,因此,不能再 style.float,而用ies:styleFloat , ff:cssFloat

str=str+($(div).style.width+

);

str=str+($(div2).style.width+

); //这一段无法获取到内部样式,显示空值,但并不是说style不存在

str=str+($(div2).width+

); //返回undefined,因为没有为div2的dom设置width属性

str=str+getStyle($(div2),width); //div2的样式是通过内部样式提供,因此通过currentStyle || getComputedStyle来获取

$( estContent).innerHTML=str;

}

$(tnUpdateClick).onclick=function()

{

//设置样式时,不管是内嵌、内部还是外部,反正这3种方式,都可以获取到style属性(对象)

//那就可以通过它为元素设置样式,设置样式的办法有以下3种

$(div).style.width=200px;

$(div2).style.width=100px;

$(div).style.cssText=ackground:blue;color:red;font-weight:bold;; //将覆盖原来的定义,相当于定义

$(div2).className= estClassName; //相当于设置

}

//]]>

演示代码:

微擎源码网,ubuntu有线连接清空,本机有两个tomcat,线上销售爬虫数据,学习php最好的书籍教程交流,基础入门seolzw

Test by McJeremy&Xu

源码偷取器,vscode插件如何启动,ubuntu显示图形,tomcat启动级错误,上市企业 爬虫,php 按照字母排序,孟村seo整站优化贵不贵,ecshop 手机网站,dedecms会员注册模板lzw

#div2 { width:200px; height:100px; margin-left:120px; border:1px dashed blue; } .testClassName { background:red; }

Div 1

Div 2

//<![CDATA[ function $(obj) { return document.getElementById(obj); } function getStyle(obj,styleName) { if(obj.currentStyle) //for ies { return obj.currentStyle[styleName]; //注意获取方式 } else //for others { return document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleName); //return document.defaultView.getComputedStyle(obj,null)[styleName]; } } $(tnGetClick).onclick=function() { //直接写在tag上的为内嵌样式、写在head-style里的为内部样式、link引入的为外部样式 //内嵌样式,可以通过Dom.style.样式名称获取,需要注意的是样式名称是驼峰格式 //内部样式和外部样式通过style.样式名称是无法获取到的,需要通过currentStyle || getComputedStyle来获取 //其实,这很好理解,内嵌样式的时候,tag具有style属性(该属性值返回的是object对象),那我们就可以通过style.样式名称来获取 //而内部或外部时,虽有style属性,但相应的值为空,所以就只有通过currentStyle || getComputedStyle来获取 //alert($(div2).style); 可以看到,弹出的结果为object,说明style是存在的,只是其下的相应样式设置为空而已。 $( estContent).innerHTML=\; var str=$(div).style.styleFloat || $(div).style.cssFloat; //因为float是保留词,因此,不能再 style.float,而用ies:styleFloat , ff:cssFloat str=str+($(div).style.width+\); str=str+($(div2).style.width+ ); //这一段无法获取到内部样式,显示空值,但并不是说style不存在 str=str+($(div2).width+ ); //返回undefined,因为没有为div2的dom设置width属性 str=str+getStyle($(div2),width); //div2的样式是通过内部样式提供,因此通过currentStyle || getComputedStyle来获取 $( estContent).innerHTML=str; } $(tnUpdateClick).onclick=function() { //设置样式时,不管是内嵌、内部还是外部,反正这3种方式,都可以获取到style属性(对象) //那就可以通过它为元素设置样式,设置样式的办法有以下3种 $(div).style.width=200px; $(div2).style.width=100px; $(div).style.cssText=ackground:blue;color:red;font-weight:bold;; //将覆盖原来的定义,相当于定义 $(div2).className= estClassName; //相当于设置

} //]]>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

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