Javascript jQuery 1.8.1 data()检索HTML5数据属性时出错

Javascript jQuery 1.8.1 data()检索HTML5数据属性时出错,javascript,jquery,html,custom-data-attribute,Javascript,Jquery,Html,Custom Data Attribute,我试图从以下标记中提取第一个数据属性: <button class="buttonMiddle" data-vid="1"> <a href="#">who helped them</a> </button> <button class="buttonMiddle" data-vid="2"> <a href="#">who helped them</a> </button> Ch

我试图从以下标记中提取第一个数据属性:

<button class="buttonMiddle" data-vid="1">
    <a href="#">who helped them</a>
</button>

<button class="buttonMiddle" data-vid="2">
    <a href="#">who helped them</a>
</button>
Chrome的控制台给了我这个:

未捕获的TypeError:对象#没有方法“data”

我已经介绍了基本的疑难解答-->jQuery在此js文件之前加载,它们都是在结束正文标记之前加载的(因此不需要
$(function(){//find data attribute});

尝试使用而不是
get()
此处:

var button1 = $('.buttonMiddle').eq(0).data('vid');
尝试在此处使用而不是
get()

var button1 = $('.buttonMiddle').eq(0).data('vid');

.get()
您需要一个jQuery对象,因为
.data()
是一个jQuery方法,所以使用
.eq()
将返回一个jQuery objectPerfect,这是一个解决方案!对于使用此方法的任何其他人,如果您想阅读@wirey的更多解释,请查看此处-->在使用$(选择器)。data()时,请注意必须使用小写的键无论如何定义大写或小写。或者在使用$(selector).attr().Perfect时将完整参数名与原始大小写一起使用,这都是解决方案!如果您想了解更多关于@wirey的解释,请查看此处-->请注意在使用$(selector).data()时必须使用小写的键无论如何定义大写或小写。或者在使用$(selector).attr()时将完整参数名与原始大小写一起使用。