Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过jQuery对象循环_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 通过jQuery对象循环

Javascript 通过jQuery对象循环,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个包含jQuery对象的关联数组,我想循环它来设置每个对象的值 我对JavaScript/jQuery还比较陌生,但这是我在没有任何运气的情况下尝试的: var inputs = [ { key: "firstName", val: $("#signup input[name=firstName]") }, { key: "lastName", val: $("#signup input[name=lastName]") }, {

我有一个包含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元素下的所有值

$("#signup input").val("test");
试试这个:

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

输入是一个数组,不是jQuery对象,所以不能对其应用each方法。但是,您可以改为使用$.each函数,但您仍然无法将val应用于项目本身,因为它们是普通对象。您是否知道,您只需要一个选择器即可遍历所有项目?为什么要使用数组?