Ламерский вопрос по обращению к селекторам

Тема в разделе "JavaScript", создана пользователем same_ivan, 29 июл 2015.

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

    same_ivan Постоялец

    Регистр.:
    1 авг 2014
    Сообщения:
    115
    Симпатии:
    64
    Возможно ли обратиться ко всем силекторам с одинаковым началом, к примеру:

    $('.lvl-1').click(function() {

    мне надо обратиться одновременно к таким же селекторам только .lvl-2 .lvl-3 .lvl-4
    не создавать же 10 функций?
     
  2. primehostnet

    primehostnet Постоялец

    Регистр.:
    28 июн 2015
    Сообщения:
    115
    Симпатии:
    17
  3. Viodele

    Viodele Механик

    Administrator
    Регистр.:
    17 дек 2011
    Сообщения:
    115
    Симпатии:
    486
    А что мешает всем этим объектам добавить дополнительный класс и хэндлить клик по объекту именно через этот класс?

    А вот так делать не стоит.
     
  4. primehostnet

    primehostnet Постоялец

    Регистр.:
    28 июн 2015
    Сообщения:
    115
    Симпатии:
    17
    отчего же?
     
  5. Viodele

    Viodele Механик

    Administrator
    Регистр.:
    17 дек 2011
    Сообщения:
    115
    Симпатии:
    486
    Оттого, что существуют некоторые стандарты программирования. Эти стандарты подразумевают, что идентификатор любого элемента DOM является уникальным и в результате выполнения функции getElementById будет возвращаться объект элемента, а не множество. DOM элементы могут иметь одинаковые классы стилей, одинаковые имена, но ни в коем случае не одинаковые идентификаторы. Не смотря на то, что в HTML5 такое обращение может работать, это один из главных признаков быдлокода.
     
    Solus_Rex нравится это.
  6. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    364
    Симпатии:
    182
    Выбрать все элементы div, класс которых начинается на "lvl-"
    HTML:
    $('div[class^=lvl-]').click(function() {
      alert(this.className);
    });
     
    Solus_Rex и latteo нравится это.