jQuery、.data(';X';)返回一个值,而不是数组

jQuery、.data(';X';)返回一个值,而不是数组,jquery,Jquery,我有这个问题 $(".myClass"); 返回 [ <div class='myClass' data-hotel='1' style='myStyle'></div> <div class='myClass' data-hotel='2' style='myStyle'></div> <div class='myClass' data-hotel='3' style='myStyle'></div> ] [ ] 那

我有这个问题

$(".myClass");
返回

[
<div class='myClass' data-hotel='1' style='myStyle'></div>
<div class='myClass' data-hotel='2' style='myStyle'></div>
<div class='myClass' data-hotel='3' style='myStyle'></div>
]
[
]
那么为什么
$(“.myClass”).data('hotel')仅返回“1”

我尝试了
$(“.myClass”).data()但返回
对象{hotel:1}

根据文档返回第一个元素值:

存储与匹配元素关联的任意数据,或在命名数据存储中返回匹配元素集中第一个元素的值

使用迭代元素并在回调中返回所需的数据。使用获取结果数组

var res=$(“.myClass”).map(函数(){
返回$(此).data('hotel');
}).get();
控制台日志(res)

var arr=[];
var div=$('.myClass')
$.each(div,function(){
arr.push($(this.data('hotel'))
})
控制台日志(arr)

您需要执行。每个循环用于检索所有值,并可以将这些值推送到数组中-

var values = [];
$('.myClass').each(function(i, obj) {
   values.push(obj);// can also use attr data-hotel
});

希望这将对您有所帮助。

您需要反复浏览每一个页面element@Gil:很乐意帮忙:)