#javascript #jquery
#javascript #jquery
Вопрос:
Благодаря моей работе я определил, как успешно выбрать добавленный div по щелчку:
$(document).on('click', '.deletebutton', function() {
Я также успешно выбрал divs, используя селектор jquery ‘ends with’
$(document).on('click', '[id$=button]', function() {
Когда я пытаюсь выбрать добавленный div С помощью селектора jquery ‘ends with’, это не работает. Есть мысли о том, почему это может быть?
Спасибо!
Комментарии:
1.
.deletebutton
это класс, а не идентификатор, поэтому идентификатор, который заканчивается на «button», не будет соответствовать элементу с классом «deletebutton».2.Как выглядит ваша структура DOM? Если бы у вас был
id="somebutton"
, этот селектор работал бы. Это успешный пример селектора ends with. (Вы могли бы сделать это с помощьюclass
вместоid
, но это будет соответствовать толькоclass="something deletebutton"
, но неclass="deletebutton something"
, потому что это не в конце.)3. @T.J. Crowder Вы были правы, спасибо за исправление.
4. @MaheerAli — Не беспокойтесь. (Также не мой downvote. 🙂 )
Ответ №1:
Всем спасибо за помощь. В моем коде произошла синтаксическая ошибка. Я прошу прощения. Это должно быть:
$(document).on(‘click’, ‘[class$=button]’, function() {
Комментарии:
1. Работа этого селектора не гарантируется. Если у вас есть
<div class="somebutton">
, то да, это работает, также, если у вас есть<div class="something somebutton">
, но не если у вас есть<div class="somebutton something">
. Это потому, что строка «somebutton something»» не заканчивается на «button». Вероятно, вам следует пересмотреть свой подход здесь — один вариант — иметь общий класс типа «button» для всего, другой — использовать запятую для перечисления всех классов, которые заканчиваются на «button», например,$(document).on('click', '.deletebutton,.addbutton,.editbutton', function() {