У меня есть всплывающее окно с различными телами div, которое отображается в зависимости от нажатой кнопки.Приведенная ниже функция работает в IE7:
function openPopup(popupDiv){
//The popup is a div with id name popupDiv
//It contains several bodies such as
//alertPopupDiv, uploadPopupDiv, removePopupDiv
//The div id name of the body to show is passed to the function
//First hide all the bodies
$("#popupDiv div[id$=PopupDiv]").each(function (i)
{this.style.visibility='hidden';});
//Now show the relevant div
var div = document.getElementById(popupDiv);
if(div != null)
{div.style.visibility = 'visible';}
//Now call the function to load the popup itself
loadPopup();
}
Но в идеале я хотел бы использовать намного более простую:
function openPopup(popupDiv){
$("div[id$=PopupDiv]").hide();
$(popupDiv).show();
loadPopup();
}
, что хорошо в Firefox и IE8, но не работаетв IE7 (он работает в первый раз, когда его вызывают, но если функция вызывает, откройте всплывающее окно с новым контейнером, он не сможет правильно отобразиться.