JavaScript

Как задать событие для кнопки по id, если id неизвестен?

Например, есть много кнопок, у которых id=2; id=6; id=21 и т. д. то есть любой. эти числа берутся, например, из БД и соответствуют id каких то записей какой то таблицы. Мне нужно, чтобы при нажатии на какую-либо из множества кнопок, сработало событие именно для этой кнопки.
Какие события?
у каждого ИД своё событие?
если да, то не проблема, просто при выводе из бд по мимо кнопки для неё событие
Даниил Ядыкин
Даниил Ядыкин
3 000
Лучший ответ
Владислав Седышев а каким образом это сделать?
Не мучайся это делается так !

<body>
<button>Я кнопка</button>
<button>Я кнопка без айди и класов как на меня назначить событие ? </button>
<button>И я кнопка</button>
<script>
onclick=a=>{a.target.outerHTML==='<button>Я кнопка без айди и класов как на меня назначить событие ? </button>'&&alert('Вы меня поймали!')}
</script>
</body>

Евгений Ипатов
Евгений Ипатов
71 997
>> Мне нужно, чтобы при нажатии на какую-либо из множества кнопок, сработало событие именно для этой кнопки.
Событие и так сработает при нажатии, именно для той кнопки на которую нажали. Событию безразлично, навесите Вы на него обработчик, или нет. Оно вообще не знает про обработчики/листенеры и id.
В чем конкретно заключается ваша задача, что должно выполняться при нажатии? Если не можете оформить кодом - опишите алгоритм простыми словами.
ИВ
Игорь Вожжов
70 426
id не может начинаться с цифры. В БД id конечно может быть числом, но при создании id элемента HTML надо добавить букву. Можно не создавать атрибут id, если он не нужен.
Пример https://jsfiddle.net/mazjewmz/
Борис Кизилов
Борис Кизилов
36 282
Мне кажется, или вы мудрите. Как я вас понял, вы создаёте кнопку для каждого id и у вас одно событие.
Не легче ли хранить id в какой-нибудь переменной. Не легче ли при нажатии кнопки вызывать событие применимое к id, которое вы сохранили?
Руслан Эргешов
Руслан Эргешов
28 648
Игорь Вожжов Скорее всего, ситуация еще проще, и ТС хочет выполнять одни и те же действия при нажатии любой из кнопок (только с разными значениями переменных) - но жквери головного мозга мешает пониманию что для этого достаточно лишь одного обработчика события... который надо вообще не на кнопки вешать.
Пишешь функцию яваскрипта
function go(this){

}
Передаешь в нее this. Из него вытаскиваешь что тебе нужно, айдишник и т д.
А передаешь данные в функцию примерно так:
a href="#" onclick="go(this);"
Гафар Sultanov
Гафар Sultanov
693