@Petroveg $.data - это и есть jQuery обертка над dataset. Ваш третий способ чуть быстрее, так как вы делаете его на чистом JS без использования jQuery.
@IonDen так нет ничего ненативного, чем оперирует jQuery, равно как и любая библиотека. Всё, что нам доступно через их API, и есть нативный JS. Но называть этот API нативным?)