各种浏览器兼容笔记(不断更新)

记录下工作和学习当中遇到浏览器兼容的问题,包括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

Leave a Reply