【发布时间】:2019-10-11 12:16:58
【问题描述】:
在遍历每个元素然后将它们推送到新数组之后,我正在创建一个新的 HTML 元素数组。然后我尝试对数组进行切片(这有效,但它在每个项目后插入一个逗号)。然后我使用 .join 删除逗号,但它没有,为什么?
var shortReviews = [];
var elm = document.getElementsByClassName('reviewContainer');
for (var i = 0; i < elm.length; i++) {
shortReviews.push(elm[i].innerHTML);
}
var snappy = document.querySelector("#reviewsSnap").innerHTML = shortReviews.slice(0, 2);
snappy.join('');
如果我在控制台中调用“snappy”,我会得到用逗号 (,) 分隔的数组,但是当我使用 snappy.join('') 时,我会在控制台中得到不带逗号的所需输出,但在页面输出中逗号仍然存在.从 snappy.join('') 中删除逗号并使其输出不带逗号分隔符,我缺少什么?
【问题讨论】:
-
您能补充更多信息吗?
-
您将
shortReview.slice(0, 2)分配为HTML,这将对数组进行字符串化,但您调用snappy.join()1. 在 不同 数组上 2. 甚至没有将结果分配给任何东西. -
一般来说,您可能应该处理 DOM 节点,而不是 HTML,因为后者更容易出错且更难维护。正如你已经在这里看到的。目的是什么 - 您要复制项还是移动项?
-
谢谢,我正在创建使用
document.createElement创建的 HTML 元素的副本
标签: javascript arrays join slice