Получить атрибут данных jquery vs javascript
У меня есть настраиваемый атрибут данных по умолчанию:
data-equipment="0"
Если я сменил его с помощью jquery с помощью .data()
$(this).data("equipment", 10)
а затем используйте getAttribute()
this.getAttribute("data-equipment")
Я получаю старое значение (0), а не новое (10). Но если я использую
$(this).data("equipment")
Получаем новое значение (10).
Должен ли он работать так, или я что-то пропущу?
Спасибо!
Ответы
Ответ 1
.data()
не работает с атрибутами данных, а во внутреннем кэше jQuery. Первоначально, если запись в кэш не найдена, данные считываются из соответствующего атрибута data-
, если таковой существует, но это конец их сотрудничества.
Если он работал с атрибутами, это было бы бесполезно для его цели, потому что значения атрибута должны быть строками.