我正试图通过这个循环从我的文档中的所有'a'标签中获取innerText值。
var x = document.getElementById("toplist-artists");
var y = x.getElementsByTagName("a");
var nodeListLength = y.length;
for (i=0;i<nodeListLength;i++) {
var artists = x.innerText;
}
console.log(artists);
这有效,现在我想用逗号或空格分隔这些值。当我向x.innertext添加+','时,逗号只显示在'list'的末尾。像这样:
Tom Odell
Elbow
Aloe Blacc
Michael Prins
,
有人可以告诉我如何让它像这样显示
Tom Odell,
Elbow,
Aloe Blacc,
Michael Prins,
答案 0 :(得分:1)
首先,修复你的循环:因为它没有意义,因为你没有根据循环计数器改变变量。它必须是y[i]
,而不是x.innerText
;否则为什么要在循环内呢?
其次,使用循环收集数组中的所有文本。那么获取你需要的字符串将是微不足道的 - 只需使用join
将所有值连接成一个,使用逗号和EOL作为分隔符:
var artists = [];
for (var i=0; i < nodeListLength; i++) {
artists.push( y[i].textContent ); // `textContent` supported by all but IE8-
}
console.log(artists.join(',\n'));
答案 1 :(得分:0)
试试这个
var artists = "";
for (i=0;i<nodeListLength;i++) {
artists += x.innerText+", ";
}