gpt4 book ai didi

javascript - 无法根据名称将 JSON 值分配给元素

转载 作者:行者123 更新时间:2023-11-27 23:06:14 24 4
gpt4 key购买 nike

我一直在研究一个简单的对象,其中包含将数据设置为 DOM 并根据 name 属性从 DOM 获取数据的方法,但是,当尝试将数据设置为元素时,我没有收到任何错误,但也没有将数据分配给该元素。我做错了什么?

var $ = {
getData: function(CLASS) {
var a = document.getElementsByClassName(CLASS),
b = document.getElementsByClassName(CLASS).length,
c = {},
d = 0;
for (d = 0; d < b; d++) {
c[a[d].getAttribute('name')] = a[d].getAttribute('value');
}
return c;
},
setData: function(CLASS, DATA) {
var a = document.getElementsByClassName(CLASS),
b = document.getElementsByClassName(CLASS).length,
c = DATA,
d = 0;
for (d = 0; d < b; d++) {
console.log(c[a[d].getAttribute('name')]);
a[d].value = c[a[d].getAttribute('name')];
}
return c;
}
};
var c = {
"roger0": "derp",
"roger1": "derp",
"roger2": "derp",
"roger3": "derp",
"roger4": "derp"
};

$.setData('item', c);

console.log($.getData('item'));
<!DOCTYPE html>
<html>

<head>
<title>Form</title>
</head>

<body>
<div class="item" name="roger0" value="">0</div>
<div class="item" name="roger1" value="">1</div>
<div class="item" name="roger2" value="">2</div>
<div class="item" name="roger3" value="">3</div>
<div class="item" name="roger4" value="">4</div>
</body>

</html>

最佳答案

您需要通过编辑当前函数来更改 setData 函数以使用 getAttribute 方法。需要使用下面的行来设置该值。

a[d].setAttribute("value",c[a[d].getAttribute('name')]);

您可以在 setAttribute() here 上找到更多信息.

setData: function(CLASS, DATA) {
var a = document.getElementsByClassName(CLASS),
b = document.getElementsByClassName(CLASS).length,
c = DATA,
d = 0;
for (d = 0; d < b; d++) {
console.log(c[a[d].getAttribute('name')]);
console.log(a[d])
a[d].setAttribute("value",c[a[d].getAttribute('name')]);
}
return c;
}

关于javascript - 无法根据名称将 JSON 值分配给元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36557077/

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