gpt4 book ai didi

javascript - DOM 元素上的每个 Jquery - 插入数组错误

转载 作者:行者123 更新时间:2023-11-30 11:26:28 26 4
gpt4 key购买 nike

我尝试在我的 DOM 上使用 each() 函数来动态添加字段。但我对这段代码有疑问:

  var nouvelle_entree=new Object();
$('div[name="declaration-ligne-entree"]').each(function () {
nouvelle_entree.name=$(this).children('input[name="system-input-name"]').val();
nouvelle_entree.values=$(this).children('input[name="system-input-valeur"]').val().split(",");
console.log(nouvelle_entree);
mockSystem.input.push(nouvelle_entree);
});
console.log(mockSystem.input);

推送功能总是推送最后一个子项而不是另一个,但在我的控制台登录上具有良好的值(value)。

log 1 : {name: "a", values: Array(1)}

log 2 : {name: "b", values: Array(1)}

log 3: [

{name: "b", values: Array(1)}

{name: "b", values: Array(1)}

]

为什么?

最佳答案

Why ?

因为在每次迭代中你都会覆盖同一个对象 nouvelle_entree

你需要在每次迭代中定义对象 nouvelle_entree 而不仅仅是第一次,否则变量将始终包含最后一次迭代的信息,例如:

$('div[name="declaration-ligne-entree"]').each(function() {
var nouvelle_entree = {};

nouvelle_entree.name = $(this).children('input[name="system-input-name"]').val();
nouvelle_entree.values = $(this).children('input[name="system-input-valeur"]').val().split(",");

mockSystem.input.push(nouvelle_entree);
});

console.log(mockSystem.input);

关于javascript - DOM 元素上的每个 Jquery - 插入数组错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com