各种浏览器兼容笔记(不断更新)
记录下工作和学习当中遇到浏览器兼容的问题,包括javascript和css
outerHTML
Firefox的DOM元素没有outerHTML属性,而IE, Opera和Safari都有这一属性。
innerText
IE, Opera和Safari都支持DOM元素的innerText属性,而Firefox不支持着一属性。Firefox中有textContent属性,与其他浏览器的innerText属性类似。
textContent
Firefox, Opera和Safari都支持DOM元素的textContent属性,而IE没有这一属性。在IE中是用innerText属性来操作。Opera和Safari两边倒,既支持innerText也支持textContent。
onmouseleave
onmouseleave事件只有IE的DOM元素才有。
而onmouseout事件是IE, Firefox, Opera 和 Safari 都有的,因此请使用onmouseout事件,而不要用onmouseleave事件。
constructor
IE的DOM元素没有constructor属性,而Firefox, Chorme, Opera, Safari都有constructor属性。
对于Firefox的DOM元素,其constructor属性是一个内置对象,其typeof值是’object’。
对于Chrome的DOM元素,其constructor属性是一个内置函数,其typeof值是’function’。
对于Opera的DOM元素,其constructor属性是Object()函数,其typeof值是’function’。
对于Safari的DOM元素,其constructor属性是一个内置对象,其typeof值是’object’。
值得注意的是,尽管Chrome和Safari都采用了Webkit内核,但其DOM元素的结构还是有些不同的。
最终样式:
IE取得元素的最终样式是:currentStyle,如:
var el = document.getElementById(“div1″);
alert(el.currentStyle.backgroundColor);
标准的DOM的最终样式是:getComputedStyle();如:
var el = document.getElementById(“div1″);
alert(document.defaultView.getComputeStyle(el,null).backgroundColor);
其中null处可为伪样式,如:hover,不需要可为null