Подтвердить что ты не робот

Получить атрибут данных jquery vs javascript

У меня есть настраиваемый атрибут данных по умолчанию:

data-equipment="0"

Если я сменил его с помощью jquery с помощью .data()

$(this).data("equipment", 10)

а затем используйте getAttribute()

this.getAttribute("data-equipment")

Я получаю старое значение (0), а не новое (10). Но если я использую

$(this).data("equipment") Получаем новое значение (10).

Должен ли он работать так, или я что-то пропущу?

Спасибо!

4b9b3361

Ответ 1

.data() не работает с атрибутами данных, а во внутреннем кэше jQuery. Первоначально, если запись в кэш не найдена, данные считываются из соответствующего атрибута data-, если таковой существует, но это конец их сотрудничества.

Если он работал с атрибутами, это было бы бесполезно для его цели, потому что значения атрибута должны быть строками.