javascript设置html元素属性(setAttribute)与ie不同版本的关系

亮术网 2020-06-18 本网原创

浏览器版本在不断更新升级,一些低版本浏览器不支持的 javascript 方法在高版本中也得到支持。这也是为什么一些 javascript 代码在一些高版本浏览器中能正常执行,而在低版本浏览器或高版本浏览器的兼容模式报错的原因。

就拿 javascript设置html元素属性(element attribute)来说,setAttribute 方法一些低版本的ie浏览器就不支持,必须得用其它方法,否则就会报错。

 

一、支持 setAttribute 方法的 ie版本

ie8 以上版本才支持 setAttribute 方法,ie6 与 ie7 都不支持。以下代码在ie8以上版本能正常执行,ie6、ie7 报错:

<div id="pageid"></div>
  var p = document.getElementById("pageid");
  p.setAttribute("style", "width:90%");

以上代码是用百分比来确定网页的宽度,主要用 javascript 的 setAttribute() 方法来设置网页元素 div 的 style 属性确定宽度。

 

二、ie6 与 ie7 用 javascript 设置html元素宽度的方法

在 setAttribute() 问世以前,是如何用javascript设置html元素的宽度的呢?对ie6比较熟悉的web前端设置者想必对 obj.style.width = 不陌生,以前正是用它来设置html元素属性的。这种方法既然低版本的ie支持,高版本的ie不用说也支持,因为程序都有向下兼容的习惯。具体设置代码如下:

<div id="pageid"></div>
  var p = document.getElementById("pageid");
  p.style.width = "88%";