jQuery:遍历嵌套对象

时间:2010-09-10 09:41:27

标签: jquery loops object nested each

我想遍历嵌套对象。这是我的代码:

var defaults = {
    toolTips: {
        printVersion: {
            toolTip1: {
                link_s: '#mm_tooltip1_link',
                tooltip_s: '#mm_tooltip1'
            },
            toolTip2: {
                link_s: '#mm_tooltip2_link',
                tooltip_s: '#mm_tooltip2'
            },
            toolTip3: {
                link_s: '#mm_tooltip3_link',
                tooltip_s: '#mm_tooltip3'
            }
        }
    }
};

var settings;
var $archives_dialog;

$.madmagz = function(options) {
    settings = $.extend({}, defaults, options);
    init();
};

function init(){
    initToolTips();
}

function initToolTips() {
    $(settings.toolTips).each ( function (i, tooltip_group) {
        $(tooltip_group).each (function (i, tooltip) {
            // do stuff
        });
    });
}

在每个循环中,我得到相同的对象。我怎样才能进入每个嵌套对象?

2 个答案:

答案 0 :(得分:5)

您需要$.each()辅助方法来循环对象。

function initToolTips() {
    $.each(defaults.toolTips, function(i, tooltip_group) {
        $.each(tooltip_group, function(i2, tooltip) {
            alert(i2);
        });
    });
}

参考:jQuery.each()

答案 1 :(得分:0)

使用.children()

http://api.jquery.com/children/