是否可以在一次通话中隐藏多个弹出窗口?例如,
...onclick="document.getElementById('PopUp1').style.display = 'none' "...
我可以要求它立即获取id为PopUp2,PopUp3等的元素吗?这是否可以通过简单的语法更改来实现?
答案 0 :(得分:8)
不,你不能用纯JavaScript做到这一点。你最好从onclick事件中调用一个函数,然后遍历该函数中的弹出窗口:
function closePopups() {
for (var i = 1; i <= 3; i++) {
document.getElementById('PopUp' + i).style.display = 'none'
}
}
然后您的事件处理程序将是:
...onclick="closePopups()"...
答案 1 :(得分:1)
这就是像jQuery这样基于选择器的框架确实非常有用的地方。在jQuery中,可以使用以下任何一个:
$("#myButton").click(function() {
$("#Popup1, #Popup2, #Popup3").hide();
});
或者,如果您在要隐藏的所有这些对象上放置一个公共"class=popup"
,则可以使用:
$("#myButton").click(function() {
$(".popup").hide();
});