javascript - 如果 index 与 div 列表的索引相同,则附加对象值数组
问题描述
我需要帮助:我有一个对象,里面有多个数组;我需要循环我所有的数组值,然后将此值附加到我的 HTML div 列表中(具有相同的类)。对象[0] 与 div[0];对象[1] 与 div[1] 纠错...
这是一个例子:
<!-- HTML -->
<body>
<div class="appendDiv">
<h1>First</h1>
</div>
<div class="appendDiv">
<h1>Second</h1>
</div>
</body>
⁄⁄JS
var values = [
{
'name': "john"
},
{
'name': "doe"
}
]
for (var i = 0; i < values.length; i++) {
value = values[i];
var name = value.name;
$('.appendDiv').each(function(index, val){
if (i === index) {
$('.appendDiv').append('<p>' + name + '</p>');
}
})
}
但是这个方法返回给我一个错误的结果,如下所示:
第一 约翰· 多伊
第二 约翰· 多伊
我需要这样的结果:
First(我的第一个 .appendDiv [0]) John(我的第一个数组名称值 [0])
第二个(我的第二个 .appendDiv [1]) Doe(我的第二个数组名称值 [1])
谢谢你。
解决方案
您的Div
. 您可以使用索引来查看相应的数组是否包含值。
如果您要与索引进行比较,那么代码应该有一个 if 语句来检查数据是否存在(以防止可能的空异常)。
var values = [
{
'name': "john"
},
{
'name': "doe"
}
]
$('.appendDiv').each(function (index) {
var value = values[index];
if (value && value.name) {
$(this).append('<p>' + value.name + '</p>');
}
});
输出:
<div class="appendDiv">
<h1>First</h1>
<p>john</p>
</div>
<div class="appendDiv">
<h1>Second</h1>
<p>doe</p>
</div>
推荐阅读
- python - 如何从同步和异步方法运行 asyncio 方法?
- highcharts - Highcharts - 工具提示渲染性能下降
- javascript - jsPDF围绕自己的中心旋转图像
- objective-c - 为什么发布版本比调试更严格
- java - 局部变量未初始化
- amazon-cloudformation - Terraform 资源弹性负载均衡器 - 减少 ConnectionDrainingPolicy 超时
- excel - 优秀团队出勤率
- html - 同步融合时间表角度组件的动态视图
- vue.js - 进行简单的重新分配后数据属性不再反应?
- javascript - jQuery上一个按钮没有按预期工作