javascript Object.each不是一个函数

时间:2018-04-07 19:54:42

标签: javascript object jquery-ui

在迭代对象时我得到了错误, Object.each不是函数, 这是我的代码:

$("#print").click(function() {
        $values = {};
        $("[data-type=text]").each(function(i,e){
            if($(e).val() !='') {
                $values[$(e).attr('name')] = $(e).val();
            }
        });
        console.log($values);

        $values.each(function(i,e){
            console.log(i.e);
        });
    });

此外,我也不能使用for循环,因为我不知道密钥。

1 个答案:

答案 0 :(得分:1)

在您的代码中,$values不是jQuery对象,.each()将不起作用。

  

迭代jQuery对象,为每个匹配的元素执行一个函数。

您需要使用$.each()代替:

$.each($values, function(k,v){
    console.log(k + ": " + v);
});
  

通用迭代器函数,可用于无缝迭代对象和数组。具有length属性的数组和类似数组的对象(例如函数的参数对象)由数字索引迭代,从0到length-1。其他对象通过其命名属性进行迭代。

你也可以只发送一个Object(jQuery与否)到控制台:

console.log($values);