原生js的DOM操作:http://www.w3school.com.cn/htmldom/dom_methods.asp
具体操作:http://www.w3school.com.cn/jsref/dom_obj_all.asp
1.javascript 如何解决IE8不支持forEach()
转载自:点击打开链接
forEach 是在第五版本里被添加到 ECMA-262 标准的;这样它可能在标准的其他实现中不存在,你可以在你调用 forEach 之前 插入下面的代码,在本地不支持的情况下使用 forEach()。该算法是 ECMA-262 第5版中指定的算法。算法假定Object和TypeError拥有它们的初始值。callback.call 等价于Function.prototype.call()。
[javascript] view plain copy
- if ( !Array.prototype.forEach ) {
- Array.prototype.forEach = function forEach( callback, thisArg ) {
- var T, k;
- if ( this == null ) {
- throw new TypeError( "this is null or not defined" );
- }
- var O = Object(this);
- var len = O.length >>> 0;
- if ( typeof callback !== "function" ) {
- throw new TypeError( callback + " is not a function" );
- }
- if ( arguments.length > 1 ) {
- T = thisArg;
- }
- k = 0;
- while( k < len ) {
- var kValue;
- if ( k in O ) {
- kValue = O[ k ];
- callback.call( T, kValue, k, O );
- }
- k++;
- }
- };
- }
2.对象不支持addEvntListener属性或方法
[javascript] view plain copy
- //判断IE7\8 兼容性检测
- var isIE=!!window.ActiveXObject;
- var isIE6=isIE&&!window.XMLHttpRequest;
- var isIE8=isIE&&!!document.documentMode;
- var isIE7=isIE&&!isIE6&&!isIE8;
- if(isIE8 || isIE7){
- li.attachEvent("onclick",function(){
- _marker.openInfoWindow(_iw);
- })
- }else{
- li.addEventListener("click",function(){
- _marker.openInfoWindow(_iw);
- })
- }
本文介绍了解决IE8不支持forEach()方法的兼容性方案,并提供了一种替代实现。此外,还探讨了对象不支持addEventListener属性或方法的问题,并给出了针对IE7/8的attachEvent兼容性写法。
659

被折叠的 条评论
为什么被折叠?



