最终我希望得到一个像这样显示的对象:
'0': {
'0': {
label: 'Book:',
content: 'a book name',
},
'1': {
label: 'Video:',
content: 'a video name',
},
'2': {
label: 'Audio:',
content: 'an audio name',
},
},
'1': {
'0': {
label: 'Book:',
content: 'another book name',
},
'1': {
label: 'Video:',
content: 'another video name',
},
'2': {
label: 'Audio:',
content: 'another audio name',
},
}
我在http://jsfiddle.net/ScbjL/4/中的代码结果不对,我很困惑为什么objDL未定义?
答案 0 :(得分:1)
您不应单独迭代.container
,dt
和dd
- 您忘记了objDT / DD阻止的容器。也可以使用数组而不是对象来获得结果。
var objDL = [];
$("dl").each(function(i) {
objDL[i] = [];
$(this).children("dt").each(function(j) {
var $this = $(this);
objDL[i][j] = {
title: $this.text(),
description: $this.next("dd").text();
};
});
});