2014-09-28 2 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"; 
     } 
    } 

Это не работает в Internet Explorer при вызове через 'OnClick'. Я использую эту простую функцию для отображения и скрытия элементов.

+0

Вы могли бы отследить эту проблему, отлаживая ее самостоятельно. Например, вы могли бы разместить точку останова на строке 'a.style.display =' initial '; '. Затем после однократного шага проверьте значение 'a.style.display', и вы обнаружите, что он не был изменен (потому что IE не принял значение). Или, после запуска программы, вы могли бы просмотреть элемент в инспекторе стиля, и вы бы увидели, что значение 'display' по-прежнему' none', что дало бы вам ключ. Вы знаете, как использовать Chrome devtools, а также его источники и элементы, или их эквиваленты Firefox? – 2014-09-28 19:01:32

+0

Хорошо, отладит его в следующий раз, если какая-то аналогичная проблема сохранится. –

ответ

1

Это проблема:

a.style.display='initial'; 

Стиль display:initial не поддерживается в IE. См. Раздел совместимости браузеров здесь: https://developer.mozilla.org/en-US/docs/Web/CSS/initial

Вместо этого используйте display:block. Если вам нужно запомнить, если исходный дисплей block или inline, используйте объект, чтобы отслеживать стиль оригинального отображения или использовать атрибуты данных, прикрепленные к элементу.

+0

Спасибо, что это сработало :) –

Смежные вопросы