var idk = $('#menu li').map(function (i, n) {
var placeholder = $(n).attr('id')
var content = $(n).find('.li2').attr('id');
return //..
}).get().join(',');
}
我想得到这样的东西
{'a':1,'b':2,'c',3}其中abc来自占位符,123是内容。我应该使用map()
返回什么内容?
答案 0 :(得分:0)
我可能会忽略你想要做的事情,但我认为你不需要地图。为什么不这样呢?
var listItems = $('#menu li');
var map = {};
for (var i = 0, length = listItems.length; i < length; i++) {
var listItem = listItems[i];
map[listItem.attr('id')] = listItem.innerText;
}
答案 1 :(得分:0)
.map
为您提供了一系列对象。
使用$.extend
将它们合并为一个对象。
var arrayOfObjects = $('#menu li').map(function (i, n) {
var placeholder = $(n).attr('id')
var content = $(n).find('.li2').attr('id');
var obj = {};
obj[placeholder] = content;
return obj;
});
// arrayOfObjects = [{a : 1}, {b : 2}, {c : 3}]
var obj = $.extend.apply(null, arrayOfObjects);
// obj = {a: 1, b: 2, c: 3}