@IT-Programmer

Почему jquery replaceWith работает только с одним div?

Почему jquery replaceWith работает только с одним div.
На сайте имеются 2 с id="Post-7";
Но заменяется только первый такой а второй остаётся таким же
Вот код:
function UpdatePost(i){
    $.ajax({
      url:SiteURL+'assets/includes/functions/main.php',
      type:'POST',
      data:{'UpdatePost':i},
      success:function(a){
        $("#Post-"+i).each(function(){$(this).replaceWith(a)});
        $(this).on("click",function(){
          UpdatePost($(this).attr('id').replace('Post-',''));
        });
      }
    });
  }
  • Вопрос задан
  • 69 просмотров
Решения вопроса 2
@tyzberd
id должен быть уникальным. Если 2 ид одинаковых $("#Post-"+i) выберет только первый. Используйте class
Ответ написан
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Потому что нужно знать основы.
Да нет, в принципе и основы знать не нужно.
Просто включить голову в режим логики

id - идентификатор

Смотрим википедию:

Идентифика́тор, ID (англ. data name, identifier — опознаватель) — уникальный признак объекта, позволяющий отличать его от других объектов, т.е. идентифицировать. Примеры: лексический токен, который определяет сущность.


уникальный признак

Теперь идем на викисловарь и узнаем значение слова уникальный:


единственный в своём роде, неповторимый, существующий в одном экземпляре


Теперь уже, в принципе, должно стать понятно, в чем проблема.
Но я скажу на всякий случай: id не должны повторяться!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект