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

代码如下:

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

演示代码:

Test by McJeremy&Xu

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

Div 1

Div 2

获取值
设置值

//
}
//]]>

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

您可能感兴趣的文章:

  • 通过DOM脚本去设置样式信息
  • 通过javascript设置css属性的代码
  • js setattribute批量设置css样式
  • jQuery toggle()设置CSS样式
  • js 设置css的定位
  • 使用JavaScript动态设置样式实现代码(2)

Tags:设置 样式值

相关文章

  • 2017-05-05javascript 中iframe高度自适应(同域)实例详解
  • 2016-03-03javascript实现PC网页里的拖拽效果
  • 2017-07-07BootStrap Fileinput上传插件使用实例代码
  • 2015-08-08基于ajax实现文件上传并显示进度条
  • 2009-11-11javascript实现拖拽并替换网页块元素
  • 2012-12-12js返回上一页并刷新代码整理
  • 2017-02-02基于JS实现移动端向左滑动出现删除按钮功能
  • 2010-12-12JavaScript Accessor实现说明
  • 2014-04-04js通过更改按钮的显示样式实现按钮的滑动效果
  • 2010-06-06JavaScript Tips 使用DocumentFragment加快DOM渲染速度

最新评论

(0)

相关推荐

  • 使用JavaScript动态设置样式实现代码(2)

    你可以参考到前一版本 http://www.jb51.net/article/33555.htm 这个有点不好的地方,就是如果想改变样式,也许得使用查找替换才行. 因此,Insus.NET写出另外一个方法来实现,这样可以改一应用百. 先写一个样式Style: 复制代码 代码如下: <style type="text/css"> .overStyle { border-color:#3599ff; } .outStyle { border-color: #fff; } <

  • jQuery toggle()设置CSS样式

    toggle() 切换元素的可见状态. 如果元素是可见的,切换为隐藏的:如果元素是隐藏的,切换为可见的. --------------------------------- 示例 切换所有段落的可见状态. HTML 代码: <p>Hello</p><p style="display: none">Hello Again</p> jQuery 代码: $("p").toggle() 结果: <p tyle=&quo

  • js 设置css的定位

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

  • 通过javascript设置css属性的代码

    1.透明度: 如果没有为一个文本指定一个背景颜色或者一个背景图像,那么这个元素的背景通常是透明的. 这一点很重要,如果一个绝对定位的且带有文本的元素放在一个有文本的元素之上,那么将会十分的混乱,那么我们就可以通过设置背景图片或者背景颜色来进行遮盖,如果必须的话我们可以将其显示的设置为"transparent"(透明的) 通用的设置透明元素通用的css如下: 复制代码 代码如下: opacity:.75;//ff new -moz-opacity:.75;// transparency

  • js setattribute批量设置css样式

    firefox等可以使用 var dom=document.getElementById("name"); dom.setAttribute("style","width:10px;height:10px;border:solid 1px red;") ; IE中则必须使用style.cssText var dom=document.getElementById("name"); dom1.style.cssText = &q

  • 通过DOM脚本去设置样式信息

    利用DOM脚本去设置样式信息:(by wushan) 在大多数场合,我们都用CSS去设置样式,但在某些特殊情况下,例如要根据元素在节点树里的位置来设置节点样式信息时,目前CSS还没办法做到这一点.但利用DOM就可以很轻易的完成. 例如:把一定样式施加到所有hl元素的下一兄弟节点(下一元素节点)上.这时候用CSS没办法确定位置,但用DOM的getElementsByTagName( )方法很容易就把所有hl元素后面的那个元素找出来,这时候只要对找出来的元素施加样式就可以了.以下是代码清单: 复制代

  • IE及firefox下获取及设置样式值的代码

    复制代码 代码如下: <script type="text/javascript"> //<![CDATA[ function $(obj) { return document.getElementById(obj); } function getStyle(obj,styleName) { if(obj.currentStyle) //for ies { return obj.currentStyle[styleName]; //注意获取方式 } else //fo

  • Jqgrid设置全选(选择)及获取选择行的值示例代码

    1.添加multiselect: true 2.获取选择行的值 复制代码 代码如下: var rowData = jQuery('#List').jqGrid('getGridParam','selarrrow');    if(rowData.length)     {        for(var i=0;i<rowData.length;i++)        {           var name= jQuery('#List').jqGrid('getCell',rowData[i]

  • javascript获取ckeditor编辑器的值(实现代码)

    CKeditor编辑器是FCKeditor的升级版本想对于FCK来说,确实比较好用,加载速度也比较快以下是如果通过JS获取CKeditor编辑器的值,用于表单验证 if(CKEDITOR.instances.content.getData()==""){alert("内容不能为空!");return false;} content是textarea的name下次发下CKeditor的配置还有上传配置,我只弄了PHP的上传 刚有个朋友反应说FIREFOX下不能判断为空

  • 怎么通过onclick事件获取js函数返回值(代码少)

    具体过程不做详细叙述,直接上代码: 写一个弹出框,绑定onclick事件是好像控制不了它的返回值.代码如下 function createBtn(){ for(var i = 0; i < _this.btn.length; i++){ var btn = document.createElement('span'); btn.id = 'btn_' + i; btn.innerHTML = _this.btn[i]; btn.style.padding = '5px 15px'; btn.st

  • Javascript在IE或Firefox下获取鼠标位置的代码

    第一段代码是利用全局变量来获取实时鼠标的位置. 复制代码 代码如下: var xPos; var yPos; window.document.onmousemove(function(evt){ evt=evt || window.event; if(evt.pageX){ xPos=evt.pageX; yPos=evt.pageY; } else { xPos=evt.clientX+document.body.scrollLeft-document.body.clientLeft; yPo

  • firefox下获取下列框选中option的text的代码

    知识点: 0.为什么要innerText?因为安全问题 1.为firefox dom模型扩展属性 2.currentStyle属性可以取得实际的style状态 3.IE实现innerText时考虑了display方式,如果是block则加换行 4.为什么不用textContent?因为textContent没有考虑元素的display方式,所以不完全与IE兼容 代码: 在IE6,7,8 和firefox 2,3下测试均通过. //If your browser is IE , return tr

  • 兼容IE,firefox的获取节点的文本值的javascript代码

    我们知道通过浏览器自带的innerHTML属性能够获取节点的所包含的字符串的值,比如有如下节点: 复制代码 代码如下: <div id="test"><strong>i'm strong</strong></div> 通过 复制代码 代码如下: var obj=document.getElementById("test");alert(obj.innerHTML);//返回的值是<strong>i'm st

  • JQuery 获取和设置Select选项的代码

    获取Select : 获取select 选中的 text : $("#ddlRegType").find("option:selected").text(); 获取select选中的 value: $("#ddlRegType ").val(); 获取select选中的索引: $("#ddlRegType ").get(0).selectedIndex; 设置select: 设置select 选中的索引: $("#d

  • firefox下frameset取不到值的解决方法

    ff里不能通过对Frame的ID来直接访问 (IE FF都可以直接通过Frame的Name来访问,但是FrameSet不支持name属性) 因此window.parent.full =>window.parent.document.getElementById("full");  js操作frame详细解说,window.opener和window.parent的区别 frame框架里的页面要改其他同框架下的页面或父框架的页面就用parent window.opener引用的是w

  • js获取单元格自定义属性值的代码(IE/Firefox)

    复制代码 代码如下: // js取单元格自定义属性值,IE和FF下的不同实现 result+="<Item>" var isIE=document.all ? true : false; if(isIE)//IE { for (var i=0;i<obj.cells.length;i++) result+="<"+obj.cells[i].fieldname+"><![CDATA["+$(obj.cells[i

随机推荐