我们在复选框上有一个自定义属性,在这种情况下称为data-ref。
如何获得价值。这没用。
this.attr('data-ref');
任何想法,
非凡
答案 0 :(得分:18)
您是否知道自己的文字中的自定义属性“date-ref”和jQuery中的“data-ref”之间存在差异?
此外,您可能会发现使用jQuery对象更容易:
$(this).attr('data-ref');
问题确实似乎是你没有使用jQuery对象:
this.attr('data-ref');
另一方面,要使用DOM检索data-*
属性,您可以选择:
this.getAttribute('data-ref');
或者:
this.dataset.ref;
或者:
this.dataset['ref'];
答案 1 :(得分:2)
$("选择器&#34)。ATTR("数据REF&#34); 应该明确地工作。
也许你可以发布你的HTML代码
答案 2 :(得分:1)
也许你必须使用:
$(this).attr('data-ref');
但这不是很漂亮! 使用jQuery.data()将数据存储到DOM节点。
存储:
$('#divid').data('data-ref', 'i am data');
得到:
var data = $('#divid').data('data-ref');
答案 3 :(得分:1)
前面提到的attr()是如何获取自定义属性的。但是,请注意,如果您使用HTML5的data- *属性,您现在也可以利用jQuery的.data()来访问该数据:
答案 4 :(得分:0)
您的实施问题可能与您的使用有关。也许它应该是$(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>