2014-09-28 222 views
0

這是我Javscript代碼: -的JavaScript在Internet Explorer

function show(ele) 
    { 
     a=document.getElementById(ele); 
     if(a.style.display=='none') 
     { 
      a.style.display='initial'; 
      window.q="off"; 
     } 
     else 
     { 
      a.style.display='none'; 
      window.q="on"; 
     } 
    } 

時通過的 'onClick' 叫這並不在Internet Explorer中運行。我使用這個簡單的函數來顯示和隱藏元素。

+0

你可以通過自己調試來跟蹤這個問題。例如,你可以在'a.style.display ='initial';'行放置一個斷點。然後在單步執行後,檢查'a.style.display'的值,並且你會發現它沒有改變(因爲IE不接受這個值)。或者,在運行程序之後,您可以在樣式檢查器中查看元素,並且您會看到'display'的值仍然是'none',這會給您提供線索。你知道如何使用Chrome開發工具,及其源代碼和元素視圖,或他們的Firefox等價物嗎? – 2014-09-28 19:01:32

+0

好的,如果一些類似問題持續存在,下次將進行調試。 – 2014-09-28 19:29:48

回答

1

這就是問題所在:

a.style.display='initial'; 

風格display:initial在IE瀏覽器不支持。請參閱此處的瀏覽器兼容性部分:https://developer.mozilla.org/en-US/docs/Web/CSS/initial

改爲使用display:block。如果您需要記住原始顯示是否爲blockinline,請使用對象跟蹤原始顯示樣式或使用附加到該元素的數據屬性。

+0

非常感謝你的工作:) – 2014-09-28 16:22:33