原生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);
- })
- }