jQuery:$ .each()递归清空对象

时间:2016-02-03 11:40:02

标签: javascript jquery loops recursion

我有一个json对象,它有key:value个对,以及格式相同的对象,key:value

我想尝试在同一个循环中输出keyvalue

 populateUpdateForm: function(data) {

    // console.log(typeof(data));
    // console.log(data);

    $.each(data, function(i, v){

        if ( typeof(v) == 'object' ) {
            populateUpdateForm(v);
            // return false;
        }

        console.log(i, v);

    });

}

只要当前v是一个字符串,它就会正确输出,但只要我点击一个对象并再次开始循环,即使console.log(data)emptytypeof()显示一个对象。

我能解决这个问题吗?

谢谢

编辑无论是否破坏循环都会导致jquery.min.js文件中出现相同的错误Uncaught TypeError: Cannot read property 'length' of null

EDIT2 此处https://jsfiddle.net/7rLesm4y/是一个jsfiddle,它是我的代码的复制/粘贴。我使用相同的jQuery版本,但在localhost上我得到错误,而在jsfiddle上它按照我的意图工作。

1 个答案:

答案 0 :(得分:1)

问题在于null值和$.each循环。虽然它似乎在jQuery v2.2.0中有用,但它会在旧版本上引发错误,在{FF}上TypeError: obj is null和Chrome上的Cannot read property 'length' of null