document.getElementbyId - 一次获得多个id?

时间:2011-08-06 13:55:19

标签: javascript css html popup

是否可以在一次通话中隐藏多个弹出窗口?例如,

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

我可以要求它立即获取id为PopUp2,PopUp3等的元素吗?这是否可以通过简单的语法更改来实现?

2 个答案:

答案 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();
});