#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. Аааа, понял. Спасибо!