событие onclick+getElementBy...

Тема в разделе "JavaScript", создана пользователем same_ivan, 10 окт 2014.

Модераторы: ZiX
  1. same_ivan

    same_ivan Постоялец

    Регистр.:
    1 авг 2014
    Сообщения:
    115
    Симпатии:
    64
    Уважаемые, нашел вот такую конструкцию, чтоб закрывать попап окошко.
    Работает чудесно, но я бы хотел по событию убирать несколько контейнеров..
    getElementsByClass - не существует функции
    getElementsByName - не работает в этой конструкции
    Подскажите как сделать чтоб это заработало..

    <div id="popup">
    <a href="#" onclick="document.getElementById('popup').style.display='none';return false;" id="close_popup"></a>
    <p>This is a pop-up.</p>
    </div>
     
  2. warg

    warg Постоялец

    Регистр.:
    26 июн 2007
    Сообщения:
    128
    Симпатии:
    130
    getElementsByName возвращает массив, поэтому и не работает.

    на чистом JS например так:

    Код:
    function hide(name) {
       var elements = document.getElementsByName(name);
       for (var i = 0; i < elements.length; i++)  { elements.style.display = 'none'; }
    }
    
    <div id="popup">
    <a href="#" onclick="hide('name'); return false;" id="close_popup"></a>
    <p>This is a pop-up.</p>
    </div>
    

    jQuery:

    по классу

    Код:
    <a href="#" onclick="$(".class").hide(); return false;" id="close_popup"></a>
    

    ID начинается с popup_

    Код:
    <a href="#" onclick="$('[id^="popup_"]').hide(); return false;" id="close_popup"></a>
    
     
    same_ivan нравится это.