brilliantmaksim
@brilliantmaksim
Верстала

Как работать с data-* аттрибутами?

У меня есть в цикле ссылки у ссылок дата аттрибуты, к примеру data-date, data-title и т.д.

Мне нужно по клику на ссылку, чтобы данные этой же ссылки брались и вставлялись куда мне нужно, но это не работает. Как исправить?
jQuery(function($){
									$('.email__button-click').click(function(){
										let email = $(this);
										//let email = document.getElementById( 'email__button-click' );
										id = email.dataset.test;
										alert(id);
									});
								});


Где закомментировано, работает. т.к. указываю класс в ручную, а когда использую this, отказывается работать. Выдает ошибку test, т.е. название дата data-test
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что email у вас не Node, а объект jQuery. Соответственно, работать с ним надо либо средствами jQuery email.data('test'), либо преобразовав в Node email[0].dataset.test
Ответ написан
Комментировать
san_jorich
@san_jorich
Творческий кодер
jQuery(document).find('.email__button-click').each(function(){        
        jQuery(this).on("click", function(){
            var needle_atts = ['date','title']; var data_ = [];  var elm = jQuery(this);
            jQuery.each(needle_atts, function(k,v){ data_[v] = elm.attr(`data-${v}`); console.log(v) });
            console.log(data_);
        });
    });
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы