Изменить одновременно два элемента

Sergo_Sev

Творец
Регистрация
14 Июн 2008
Сообщения
578
Реакции
193
Задача изменить одновременно все элементы с одинаковым ID, в данном случае на странице два элемента с price_id="2", но меняется каждый из них по отдельности
Как назвать параметр не столь важно( id="2" или даже class="2"), главное что бы значение параметра было цифровое

Пример по ссылки Для просмотра ссылки Войди или Зарегистрируйся
 
ID то точно одинаковыми быть не могут - сработает только один, а что менять то надо? если например текст менять-то
Код:
$('span[price_id="2"]').html('новое значение')
 
можно использовать конструкцию document.querySelectorAll("#price-id") - вернет оба объекта

но два и более - одинаковых id на странице - это уже плохо
 
ID то точно одинаковыми быть не могут - сработает только один, а что менять то надо?
По ссылке же пример наглядный что менять
Две нижние строки с одним id должны меняться одновременно
Или не с ID, а с другим параметром - баз разницы, главное что бы они менялись одновременно
 
По ссылке же пример наглядный что менять
Две нижние строки с одним id должны меняться одновременно
Или не с ID, а с другим параметром - баз разницы, главное что бы они менялись одновременно

одновременно сразу - нет, перебором в цикле объектов - да.

дать пример?
 
Я думаю стоит использовать аттрибут `data` и не заниматься засорением аттрибутов `class` и `id`.

Вот готовый пример на jQuery -- Для просмотра ссылки Войди или Зарегистрируйся
 
Задача изменить одновременно все элементы с одинаковым ID, в данном случае на странице два элемента с price_id="2", но меняется каждый из них по отдельности

Интересно - а что является триггером для изменения?

1) просто внешнее событие - тогда мой вариант ответа ниже в одно действие
2) а если речь о том, что некое событие меняет один из элементов, и необходимо, чтоб другой элемент отреагировал (именно само изменение значения является триггером) - это другой вопрос

P.S. Использовать атрибут ID для нескольких элементов - плохой стиль. Хотя браузеры и поддерживают это, и JQuery отработает корректно - но это перечит самой сути определения ID как обращение к единственному объекту в структуре DOM.

HTML:
<span data-id="1">1999 руб.</span>    <br>
<span data-id="1">1999 руб.</span>    <br>
<span data-id="2">1799 руб.</span>    <br>
<span data-id="3">499 руб.</span>     <br>
<span data-id="3">499 руб.</span>     <br>

  $('[data-id = "1"]').text("100 USD");
 
Последнее редактирование модератором:
Назад
Сверху