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:很乐意帮忙:)