@seredaes

Кто объяснит этот феномен?

Ссылка на пример

JS код говорит, что все атрибут изменен и даже выводит новое значение, но физически ничего не меняется...
Если посмотреть код, атрибут data-id по прежнему 12, как такое может быть?
  • Вопрос задан
  • 355 просмотров
Решения вопроса 2
DevMan
@DevMan
учите матчасть: data-атрибуты сторятся НЕ в элементе.
Ответ написан
Комментировать
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
data в jquery работает по-своему, а исходные значения берет из data-* аттрибутов. Для изменения аттрибутов напрямую их надо менять через attr('data-x', val)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@mletov
Чтобы менялся Html:

alert($("#www").attr("data-id"));
$("#www").attr("data-id","www");
alert($("#www").attr("data-id"));


Что касается data, то подозреваю, что он хранит свои значения за пределами элемента, к которому применяется.
Ответ написан
Комментировать
alsopub
@alsopub
А что вы ожидали увидеть? JS модифицирует DOM модель, но не исходники, лежащие на сервере.
Ответ написан
@zhainar
Гуглю за вас
Потому что атрибут data-{name} и функция data({name}) это разные вещи.
Если у элемента не указан element.data({name}, value), то jquery берет значение из атрибута.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы