[英]How to print a javascript array values in a jQuery .html() function?
我有一个包含一组字符串的JavaScript数组。 我想使用j Query或JavaScript在HTML div元素中逐行显示它们。
我的代码到现在为止:
var data = data;
for (i = 1; i <= data.length; i++) {
data[i] = data[i] + '<br />';
$(target).html('<a>'+data[i]+'</a>');
}
此时此刻我的数据就会显示出来。
Labelling MachinesLabels - Plastic, Metal, Foil etcLabels FabricLaboratories - MedicalLaboratories - TestingLaboratory Equipment & SuppliesLaboratory Equipment Services & Calibration
我希望它们像这样显示为链接(内部标签):
Labelling Machines
Labels - Plastic, Metal, Foil etc
Labels Fabric
Laboratories - MedicalLaboratories - Testing
Laboratory Equipment & Supplies
Laboratory Equipment Services & Calibration
提前致谢
您应该将中断符添加到链接标记之外,并且只能使用.html()一次,因为它完全替换了给定元素的innerHTML,即
str = "";
for (i = 1; i <= data.length; i++) {
str += "<a>" + data[i] + "</a><br />";
}
$(target).html(str);
我建议另一种方法,使用innerHTML(javascript)或append(jquery),因为已经提到了另一个答案
for (i = 1; i <= data.length; i++) {
target.innerHTML += "<a>" + data[i] + "</a><br />";
}
var data = data;
var str = '';
for (var i = 1; i <= data.length; i++) {
str += `<a>${data[i]}<br /></a>`;
}
$(target).html(str);
尝试这个。
最干净的方法将被包装在div中。 并且您需要使用.append()方法不覆盖已经添加到目标中的初始数据。
var data = ["Hello", "World", "Lorem", "Ipsum", "More length"]; for (var i = 0; i < data.length; i++) { $("#result").append('<div><a href="#" class="link">' + data[i] + '</a></div>'); }
.link { color: #5ca5cc; margin-bottom: 10px; text-decoration: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="result"></div>
干净,更简单的代码以及有效的演示。
您的代码在这里是不完整的。不确定您是否在代码中的任何地方声明了变量i
。您也将从第一个索引开始循环
与其在每次迭代中都附加到DOM,不如创建一个字符串并将其值连接到它。 在迭代完成时附加它。
var data = data,
htmlString="";
for (var i = 0; i <= data.length; i++) {
htmlString+= data[i] + '<br />';
}
$(target).append(htmlString);
代替for/loop
您可以在带有map
和templateliteral的一行中使用ES6。
$(target).html(arr.map(el => `<a>${el}</a><br/>`));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.