使用javascript从锚定标记获取自定义数据

使用javascript从锚定标记获取自定义数据,javascript,jquery,html,anchor,Javascript,Jquery,Html,Anchor,我试图为一个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="aligncent

我试图为一个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;但显然我错了

非常感谢您的帮助。

jQuery的数据将获得数据属性,但不会设置它:

var id = $('#like').data('value');
还是普通JS

var id = document.getElementById('like').getAttribute('data-value');
jQuery的数据将获取数据属性,但不会设置它:

var id = $('#like').data('value');
还是普通JS

var id = document.getElementById('like').getAttribute('data-value');
您需要使用数据来检索数据属性:

var id = $('a[data-value]').data('value');
或者,假设a元素具有id:

您可以使用attr,但请注意,这将只获取附加到DOM元素的数据属性,因此不被认为是良好的做法。使用jQuery添加的数据属性将仅显示在数据缓存中,并且通过数据可用,因此无法通过以下方式检索:

var id = $('#like').attr('data-value');
您需要使用数据来检索数据属性:

var id = $('a[data-value]').data('value');
或者,假设a元素具有id:

您可以使用attr,但请注意,这将只获取附加到DOM元素的数据属性,因此不被认为是良好的做法。使用jQuery添加的数据属性将仅显示在数据缓存中,并且通过数据可用,因此无法通过以下方式检索:

var id = $('#like').attr('data-value');
使用

.数据存储与匹配元素关联的任意数据

使用

.数据存储与匹配元素关联的任意数据


纯JavaScript有两种变体:和:

由于您也使用jQuery对此进行了标记,您可以使用或:


使用数据,您只能读取值,但不能更新它!data是指一个jQuery数据对象,它只是用HTML元素的数据字段初始化,但不更新它们

普通JavaScript有两种变体:和:

由于您也使用jQuery对此进行了标记,您可以使用或:

使用数据,您只能读取值,但不能更新它!data是指一个jQuery数据对象,它只是用HTML元素的数据字段初始化,但不更新它们