2012-10-30 225 views
1

任何人都可以請讓我知道什麼屬性我應該使用,而不是這些(我已經使用的Internet Explorer)在Chrome或Firefox的工作:的JavaScript瀏覽器兼容性

對於改變一個元素的可見性:

obj.style.visibility = 'visible/hidden'; 

爲了得到該元件:

document.getElementById("id"); 

爲了寫入一個字符串值到一個元件:

obj.innerHTML = "...."; 

設置或獲取對象的左側位置:

obj.style.posLeft/posTop = ...; 

或者任何人都可以請建議對瀏覽器的兼容性一些文章?

+0

「請提出一些關於瀏覽器兼容性的文章」 - 你想要[紅色藥丸還是藍色藥丸](http://en.wikipedia.org/wiki/Red_pill_and_blue_pill)? – ziesemer

+1

只有最後一個需要更改爲:'obj.style.left/obj.style.top ='10px';'(必須添加px(或其他單位)否則它將不起作用) –

+0

這些統計工作在*幾乎*,每個瀏覽器,遺留或不。 – jAndy

回答

4

obj.style.posLeft/posTop應該是obj.style.left/top,它們的值必須總是包含一個單位。除此之外,你展示的片段應該適用於所有瀏覽器。此外,這些定位屬性僅適用於非「靜態」定位的元素,即具有position: absoluteposition: relativeposition: fixed的元素。

+0

非常感謝您的迅速回復,您有沒有提到的任何文章?你怎麼知道這件事的? – Freakyuser

+2

我從經驗中瞭解到,我已經使用JavaScript十多年了。我沒有任何具體的文章可以推薦,但我經常查看[MDN doc pages](https://developer.mozilla.org/en-US/docs/JavaScript),其中包含大多數功能的兼容性信息。另一個很好的參考是[caniuse.com](http://caniuse.com),您可以在其中檢查許多js函數,css屬性和選擇器以及html5元素的兼容性。 – bfavaretto

1

以上的答案是正確的,但我想補充一點,你最好使用任何流行的JavaScript框架,以避免類似的事情:

window.screenY, window.screenX (for Firefox) 
window.screenTop, window.screenLeft (for IE and Opera) 

,你會運行等方面的差異進入後面

ps。 http://caniuse.com/也不錯