我正在尝试为javscript函数获取此值
<a href="#" id="like" name="like" data-value="<?php echo $_GET['id'];?> " onclick="like(); return false;">
<img src="<?php echo $ROOT. "/assets/images/templates/like.png"?>" class="aligncenter" alt="" /></a>
我想获取id为数据值。
我尝试使用jquery选择器,例如var id = $('a[data-value]').attr();
,但显然错了。
感谢任何帮助。
答案 0 :(得分:3)
答案 1 :(得分:3)
普通JavaScript有2个变体:getAttribute()和dataset:
var el = document.getElementById( 'like' );
el.getAttribute( 'data-value' );
el.dataset.value;
当您使用jQuery对此进行标记时,您可以使用data()
或attr()
:
$( '#like' ).data( 'value' );
$( '#like' ).attr( 'data-value' );
使用data()
您只能读取值,但不能更新它! data()
指的是一个jQuery数据对象,它只是用HTML元素的data-
字段初始化,但不会更新它们!
答案 2 :(得分:2)
jQuery的data()
将获取数据属性(但不设置它):
var id = $('#like').data('value');
或普通JS
var id = document.getElementById('like').getAttribute('data-value');
答案 3 :(得分:2)
您需要使用data
来检索数据属性:
var id = $('a[data-value]').data('value');
或者,假设a
元素有id
:
var id = $('#like').data('value');
您可以使用attr()
,但请注意,这只会获得附加到DOM元素的data
个属性,因此不被视为良好做法。使用jQuery添加的数据属性只会出现在数据缓存中,并且可以通过data()
获取,因此无法以这种方式检索:
var id = $('#like').attr('data-value');