循环通过jQuery对象

时间:2014-09-01 15:11:22

标签: javascript jquery arrays

我有一个带有jQuery对象的关联数组,我想循环遍历每个对象。

我对JavaScript / jQuery比较陌生,但这是我没有运气的尝试:

var inputs = [
    { key: "firstName",         val: $("#signup input[name=firstName]") },
    { key: "lastName",          val: $("#signup input[name=lastName]") },
    { key: "email",             val: $("#signup input[name=email]") },
    { key: "confirmationEmail", val: $("#signup input[name=confirmationEmail]") },
    { key: "password",          val: $("#signup input[name=password]") },
    { key: "terms",             val: $("#signup input[name=terms]") }
];

inputs.each(function() {
    $(this).val("test");
});

2 个答案:

答案 0 :(得分:7)

在较新的浏览器中,您不需要jQuery:

inputs.forEach(function(input) {
    console.log("key is " + input.key);
    input.val.val("test");
});

.forEach()方法是内置的。如果你必须使用jQuery .s。each()`它看起来像这样:

$.each(inputs, function(index, input) {
    console.log("key is " + input.key);
    input.val.val("test");
});

请注意,jQuery $.each()调用回调函数,其中元素的索引作为第一个参数,元素本身作为第二个参数。原生.forEach()以相反的顺序传递它们。

最后,只需注释,您可以使用

设置“注册”元素下的所有<input>
$("#signup input").val("test");

答案 1 :(得分:0)

试试这个:

$.each(inputs, function(){ $(this).val("test")});