2011-08-06 292 views
3

是否可以在一次調用中隱藏多個彈出窗口?例如,document.getElementbyId - 一次獲取多個ID?

...onclick="document.getElementById('PopUp1').style.display = 'none' "... 

我可以要求它立即獲得ID PopUp2,PopUp3等元素,也?這是否可能通過簡單的語法更改或不?

回答

8

不,你不能在純JavaScript中做到這一點。你最好打電話從onclick事件通過彈出窗口的功能,然後循環在功能:

function closePopups() { 
    for (var i = 1; i <= 3; i++) { 
     document.getElementById('PopUp' + i).style.display = 'none' 
    } 
} 

那麼你的事件處理程序是:

...onclick="closePopups()"... 
1

這是基於選擇的框架狀jQuery真的很有用。在jQuery中,任一可用於:

$("#myButton").click(function() { 
    $("#Popup1, #Popup2, #Popup3").hide(); 
}); 

或者,如果你把你想隱藏的所有這些對象的公共"class=popup",你可以這樣做:

$("#myButton").click(function() { 
    $(".popup").hide(); 
});