javascript - for 循环在 JavaScript 中附加 3 个不同的值
问题描述
如何将输出指定为:名称:...,描述:...,主温度:... 而不是:名称:...,名称:...,名称:...,描述.. 。, 描述:..
for (var i = 0; i < 3; i++) {
$('#name').append('<b>Name:</b><ul>' + `<li>${name[i]}</li>` + '</ul>');
$('#main_temp').append('<b>Main Temp: </b><ul>' + `<li>${mainTemp[i]}</li>` + '</ul>');
$('#weather_description').append('<b>Weather Description:</b><ul>' + `<li>${description[i]}</li>` + '</ul>');
}
输出:
Name:
Vancouver
Name:
Vancouver
Name:
Vancouver
Weather Description:
light rain
Weather Description:
light rain
Weather Description:
clear sky
Main Temp:
289.917
Main Temp:
286.551
Main Temp:
285.244
解决方案
您可以使用模板从逻辑中提取 html,并更好地定义输出应该存在的分组。
var names = [ 'Vancouver', 'Vancouver', 'Vancouver' ];
var description = [ 'light rain', 'light rain', 'light rain' ];
var mainTemp = [ 289.917, 286.551, 285.244 ];
var template = document.querySelector('#outputTemplate').innerHTML;
var $output = $('#output');
for (var i = 0; i < 3; i++) {
let $template = $(template);
$template.find('.name').text(names[i]);
$template.find('.description').text(description[i]);
$template.find('.mainTemp').text(mainTemp[i]);
$output.append($template);
}
.group {
border: 1px solid rgb(0, 0, 0);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="output">
</div>
<script type="text/html" id="outputTemplate">
<div class="group">
<label>
<b>Name:</b><ul><li class="name"></li></ul>
</label>
<label>
<b>Weather Description:</b><ul><li class="description"></li></ul>
</label>
<label>
<b>Main Temp:</b><ul><li class="mainTemp"></li></ul>
</label>
</div>
</script>
推荐阅读
- android - 安卓工作室 | CPP 文件错误错误:未定义对位图库中的“AndroidBitmap_unlockPixels”的引用
- android - 在android中显示来自firebase数据的图表
- java - Microsoft Graph Api - 在没有用户的情况下在 java 中获取访问权限
- android - 对 ViewPager 的多个选项卡布局使用单个片段类
- angular - 在编辑和添加行时刷新组件
- html - 加载和播放视频文件的新手问题
- azure - 关于在 Get-AzVm 中解析标记值的 Powershell 问题
- agile - 如何处理这个故事
- .htaccess - HT 访问 https 和 .co.uk 到 .uk
- ios - 如何从 UITableViewCell 访问属性/值?