Как получить пользовательский атрибут с помощью Jquery
у нас есть пользовательский атрибут на флажках в этом случае, называемый data-ref.
Как получить значение. Это не сработало.
this.attr('data-ref');
любые идеи,
дивное
5 ответов
вы знаете, что у вас есть несоответствие между вашим пользовательским атрибутом "date-ref" в вашем тексте и "data-ref" в вашем jQuery?
кроме того, вам может быть проще работать с объектом jQuery:
$(this).attr('data-ref');
проблема, похоже, в том, что вы не использовали объект jQuery:
this.attr('data-ref');
С другой стороны, чтобы получить data-*
атрибуты с помощью DOM, у вас есть варианты:
this.getAttribute('data-ref');
или:
this.dataset.ref;
или:
this.dataset['ref'];
$("селектор").attr ("data-ref"); должно определенно работать.
возможно, вы можете опубликовать свой html-код
может быть, вы должны использовать:
$(this).attr('data-ref');
но это не очень красиво! использовать С помощью jQuery.data () для хранения данных на узлах DOM.
в магазине:
$('#divid').data('data-ref', 'i am data');
для:
var data = $('#divid').data('data-ref');
ранее заявленный attr () - это как получить пользовательские атрибуты. Однако также обратите внимание, что если вы используете атрибуты data-* HTML5, вы также можете использовать jQuery.data (), чтобы получить эти данные:
ваша проблема реализации может быть с использованием этого. возможно, это должно быть $(this) или вы не можете быть привязаны правильно. Я не могу найти никаких проблем с ним.. см.http://jsfiddle.net/nvkVy/2/
<a href='api.fatherstorm.com' data-ref='test' data:ref='test' data_ref='test' class='testable'>test me</a>
<script>
$(document).ready(function(){
$('.testable').click(function(){
alert('data-ref='+$(this).attr('data-ref'));
alert('data:ref='+$(this).attr('data:ref'));
alert('data_ref='+$(this).attr('data_ref'));
return(false);
});
});
</script>