我有一个我已经生成的数组,我希望将它作为垂直列表显示在html中,最好是作为每个单独的元素。
我做到了:
var a = _.intersection(viewedUserLikedUsersArray, loggedInLikedUsersArray);
for (var i=0; i < a.length; i++){
displayListOfMatches.innerHTML = a[i];
}
但很明显,这种方式会将innerHTML替换为数组中的最后一个元素,而不是将每个元素堆叠在彼此的顶部
答案 0 :(得分:1)
你可能会让人们这样说:
displayListOfMatches.innerHTML = "<p>" + a.join("</p><p>") + "</p>";
...工作 但 请注意,数组条目的内容将被解析为 HTML 。
如果不行,您可以通过map
替换这些字符来构建HTML字符串:
displayListOfMatches.innerHTML = a.map(function(entry) {
return "<p>" + entry.replace(/&/g, "&").replace(/</g, "<") + "</p>";
}).join("");
...或者随时随地构建元素,可能使用forEach
:
displayListOfMatches.innerHTML = ""; // You can leave this out if it's empty
a.forEach(function(entry) {
var p = document.createElement("p");
p.appendChild(document.createTextNode(entry));
displayListOfMatches.appendChild(p);
});
当然,在所有情况下,您都可以调整它以使用不同的元素/标记。