1. window.event
现象:
document.body.οnclick=function(ev){if(ev)console.log(1); else console.log(2); }
IE8以下不支持这种写法。
document.body.οnclick=function(){if(window.event)console.log(1); else console.log(2); }
FF 不支持这种写法。
IE9、chrome 同时支持两种window.event和ev两种写法。
解决方案:
document.body.οnclick=function(ev){
ev=ev?ev:window.event;
if(ev) console.log(1); elseconsole.log(2);
}
2. innerText和textContent
现象:
InnerText和textContext
IE9,chrome支持两者
IE8支持innerText
FF 支持textContent
解决方案:
text=e.textContent|e.innerText
3. innerHTML
现象:
在IE中使用如下语句:table.innerHTML = content; 动态修改table的HTML内容时,出现“未知运行错误”。错误原因: 在IE浏览器中,table的innerHTML属性是只读的,不能更改。类似的还有THEAD、TFOOT和TR(唯一例外的是td)。(FireFox下是可以正常使用的)
解决方案:
1. 使用table的对象模型或者DOM方法动态修改table,如:insertRow、insertCell、createTfoot、createThead或apendChild等
2. 定位到table的td,让后用td的innerHTML动态操作。
4. li 与span
现象:
<ul><spanid="test"><li >fdfd</li></span></ul>
IE9下document.getElementById('test').innerHTML 输出:<li>fdfd
Chrome和FF表现正常。
解决方案:
可以将span修改成div.