Я пытался и пытался ... и я не могу заставить это работать в IE (проверенная версия 6) Кто-нибудь может мне помочь? IE жалуется на ошибку, но отказывается сообщить, какая это ошибка ...
var a = document.getElementsByTagName("a"); for (i = 0; i < a.length; i++) { if (a[i].getAttribute("class") == "info-link") { a[i].onclick = function(e) { e = e || window.event; var target = e.srcElement || e.target; var info = target.parentNode.getElementsByTagName("div")[0]; if (info.style.display == "none" || info.style.display == "") { info.style.display = "block"; } else { info.style.display = "none"; } return false; } } } <div class="auxdata"> <a href="#" class="info-link">Esta questão possuí dados anexos. Clique para ver.</a> <div style="display: none;" class="info-inner"> <!-- variable stuff here --> </div> </div>
Как сказал @ Magnar (+1), я бы включил jQuery, он прост в использовании
jQuery(elem OR "selector").click(function(e){}).
По крайней мере, вы можете заглянуть внутрь его кода и посмотреть, как он обрабатывает click ()
IE до версии 8 не выполнил getAttribute ('class') правильно, попробуйте прочитать свойство elements className.
Когда вы пройдете через это, проверьте, как IE читает свойство стиля. он может использовать значения стилей в нижнем регистре в источнике, например «NONE», «BLOCK».