在jQuery对象中循环

Looping through jQuery objects

本文关键字:循环 对象 jQuery      更新时间:2023-09-26

我有一个带有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");
});

在较新的浏览器中,您不需要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()以相反的顺序传递这些。

最后,请注意,您可以使用设置"signup"元素下的所有<input>

$("#signup input").val("test");

试试这个:

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