开发跨浏览器JavaScript
2007-03-12 11:56
148 查看
1. 通过JavaScript设置元素的样式 2. 设置元素的class属性 3. 创建输入元素 4. 向元素增加事件处理
除了IE(Microsoft Internet Explorer),这种方法在当前其它浏览器上都行得通。为了照顾IE,我们可以使用设置不标准的属性---元素style对象的cssText属性。尽管这个属性不是标准的,但得到了广泛的支持(除了Opera):
Firefox等浏览器:运行代码,在下面的测试区域查看效果。
Firefox等浏览器IE浏览器:,在下面的测试区域查看效果。
为了照顾IE这个异类,它只认识className属性---在IE中className = class,其它大多数浏览器都忽略className属性。你可以这样做:
Firefox等浏览器:运行代码,在下面的测试区域查看效果。
Firefox等浏览器IE浏览器:运行代码,在下面的测试区域查看效果。
Firefox等浏览器和IE浏览器:运行代码,在测试区域查看效果。
除了IE,上面的代码在所有的当前浏览器中都能工作。在IE中必须使用点词法来引用所需的事件处理程序:
World Wide Web Consortium (W3C)
Document Object Model (DOM)
ECMAScript [ECMAScript] binding for the Level 3 Document Object Model Core definitions.
The XMLHttpRequest Object
The Document Object Model in Mozilla and The Mozilla DOM Reference: all objects, properties and methods (Zipped HTML)
ajaxian.com
1. 通过JavaScript设置元素的样式
通过元素(Element)的setAttribute()方法设置style属性:var testdiv = document.getElementById("testdiv"); testdiv.setAttribute("style", "font-size:34px;color:red;");
除了IE(Microsoft Internet Explorer),这种方法在当前其它浏览器上都行得通。为了照顾IE,我们可以使用设置不标准的属性---元素style对象的cssText属性。尽管这个属性不是标准的,但得到了广泛的支持(除了Opera):
var testdiv = document.getElementById("testdiv"); testdiv.style.cssText = "font-size:34px;color:red;";
Firefox等浏览器:运行代码,在下面的测试区域查看效果。
Firefox等浏览器IE浏览器:,在下面的测试区域查看效果。
2. 设置元素的class属性
使用Firefox和Safari之类的浏览器,可以通过元素(Element)的setAttribute()方法设置class属性:var testdiv = document.getElementById("testdiv"); testdiv.setAttribute("class", "HeaderBar");
为了照顾IE这个异类,它只认识className属性---在IE中className = class,其它大多数浏览器都忽略className属性。你可以这样做:
var testdiv = document.getElementById("testdiv"); testdiv.setAttribute("class", "HeaderBar");testdiv.setAttribute("className", "HeaderBar");
Firefox等浏览器:运行代码,在下面的测试区域查看效果。
Firefox等浏览器IE浏览器:运行代码,在下面的测试区域查看效果。
这里是测试用的区域:Hello world!
上面的代码已经在Mozilla Firefox 1.5.0.2,Opera 8.54,Konqueror 3.5.2测试通过。3. 创建输入元素
注意document.createElement()和<Element>.setAttribute()方法的顺序:var button = document.createElement("input"); button.setAttribute("type", "submit"); var testdiv = document.getElementById("testdiv").appendChild(button);
Firefox等浏览器和IE浏览器:运行代码,在测试区域查看效果。
4. 向元素增加事件处理
标准的做法是:var testdiv = document.getElementById("testdiv"); testdiv.setAttribute("onclick", "doFoo();");
除了IE,上面的代码在所有的当前浏览器中都能工作。在IE中必须使用点词法来引用所需的事件处理程序:
var testdiv = document.getElementById("testdiv"); testdiv.onclick = function(){doFoo();};
相关资源:
《Ajax基础教程》纸质书---人民邮电出版社。World Wide Web Consortium (W3C)
Document Object Model (DOM)
ECMAScript [ECMAScript] binding for the Level 3 Document Object Model Core definitions.
The XMLHttpRequest Object
The Document Object Model in Mozilla and The Mozilla DOM Reference: all objects, properties and methods (Zipped HTML)
ajaxian.com
相关文章推荐
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- 使用decj简化Web前端开发(一):声明式Javascript动态加载和浏览器事件绑定
- javascript 跨浏览器开发经验总结(五) js 事件
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- 开发跨浏览器javascript
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- 使用decj简化Web前端开发一:声明式Javascript动态加载和浏览器事件绑定
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- 开发跨浏览器JavaScript时要注意的问题
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- 源码-JavaScript&jQuery交互式前端开发-第3章-函数、方法与对象-浏览器对象模型
- 开发跨浏览器javascript常见注意事项
- 开发跨浏览器的JavaScript方法说明第1/2页
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- aspnet企业级开发:用javascript去除浏览器状态栏的开发信息痕迹
- 开发跨浏览器JavaScript时要注意的问题
- 【web前端开发】浏览器原生API,DOM,Javascript,HTML5,CSS 代码运行实例参考
- 微信开发-微信内置浏览器的Javascript API