Селектор идентификаторов jQuery для автоматической генерации через цикл php

#javascript #php #jquery #html #loops

#javascript #php #jquery #HTML #циклы

Вопрос:

Я новичок в jQuery, поэтому у меня возникают трудности с поиском идентификаторов элементов, которые генерируются автоматически через мой цикл PHP.

Мой вопрос в том, как я могу перехватить эти автоматически сгенерированные идентификаторы в jQuery, как использовать цикл в jQuery для получения уникального идентификатора, кстати, мой формат идентификатора id="divAddressSet1", id="divAddressSet2" и так далее. Как я мог бы перехватить name(divAddressSet) a unique number прикрепленный к каждому идентификатору в jQuery

Есть идея?

Комментарии:

1. Используйте общий класс, затем используйте селектор классов

Ответ №1:

Попробуйте использовать attribute starts with selector в этом контексте,

 $('[id^="divAddressSet"]')
  

Или сделайте одну вещь, генерируя эти элементы, просто прикрепите к этому общий класс. И захватите эти элементы с помощью class selector , например,

 $('.commonClass')
  

Поскольку ваши элементы создаются во время выполнения, используйте event-delegation , как показано ниже,

 $(document).on("click" ,'.commonClass',function() {

});
  

И в качестве особого примечания замените ближайший статический родительский элемент на .commonClass на document . Если вы этого не сделаете, то событие связанного щелчка будет запущено только после того, как propagation достигнет document [$ (document).on(…)]. Document является корнем DOM, поэтому это приведет к задержке производительности, если у вас структура dom значительно большего размера..

Комментарии:

1. Спасибо @Rajaprabhu Aravindasamy за ваши усилия, кстати, для чего этот символ шляпы? если я могу попросить мои знания

2. @UsmanSharifAmjadKhan Этот символ будет представлять атрибут, начинающийся с селектора, прочитайте предоставленную ссылку, чтобы узнать больше. И вы должны использовать делегирование событий для элементов, которые создаются динамически..

Ответ №2:

использовать event delegation

 $(document).on("click" ,'[id^="divAddressSet"]',function() {

       alert(this.id);   
});
  

для селектора идентификаторов используется префикс « # »
для выбора класса используйте « . «

Комментарии:

1. спасибо @Sudharsan, это сработало, но как бы мне скрыть все эти идентификаторы при загрузке страницы, которые будут обрабатываться с помощью (включаться выключаться) с помощью флажка.

Ответ №3:

Попробуйте это

Пример селекторов :

Начинается с заданной строки (например, divAddressSet),

 $("[id^='divAddressSet']")
  

Если вы хотите выбрать элементы, идентификатор которых содержит заданную строку :

 $("[id*='divAddressSet']")
  

Скрипт

 $(document).on("click" ,'[id^="divAddressSet"]',function() {  });
  

или

 $(document).on("click" ,'.yourclass',function() {  });