Как захватить все экземпляры частичного имени класса

#javascript #jquery #class

#язык JavaScript #jquery #класс

Вопрос:

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

 newContent = $(".product-sample-field[class^='appended']");  

И для справки, мой HTML выглядит так:

 lt;tr class="product-sample-field appended1"gt;...lt;/trgt; lt;tr class="product-sample-field appended2"gt;...lt;/trgt; lt;tr class="product-sample-field appended3"gt;...lt;/trgt;  

И так далее.

Поэтому я пытаюсь захватить все экземпляры .product-sample-field и .appended, где .appended динамически добавляет число к имени класса.

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

1. В стороне от вопроса, это такие случаи, когда инкрементный идентификатор и атрибуты класса являются анти-шаблоном. Я настоятельно рекомендую вам изменить имена классов, чтобы они были одинаковыми, и использовать обход DOM для связи/нацеливания на необходимые элементы

2. Если вы чувствуете, что должны использовать инкрементный идентификатор (подсказка: вы этого не делаете) — тогда измените свой .addClass("appended" idx) на .addClass("appended appended" idx) и сделайте свою жизнь намного проще.

Ответ №1:

Это возвращает все экземпляры в поле .product-пример. Имена полей и классов начинаются с «добавлено». Используйте * вместо ^.

 $(".product-sample-field[class*='appended']");  

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

1. Аааа, понял. Спасибо!