答案 0 :(得分:5)
您可以将变量保留在for
之外,将字符串附加到for
内,当for
完成时,将其推入数组内。
这是如何做到的 -
var tagsCollection = document.getElementsByTagName('p');
var tagsCollectionLength = tagsCollection.length;
var tags = "", tagsCollectionArray = [];
for (var i = 0; i < tagsCollectionLength; i++)
{
tags = tags + tagsCollection[i];
}
tagsCollectionArray.push(tags);
答案 1 :(得分:1)
假设您有html
<div>
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
</div>
假设您想要的结果是所有段落内容(Array
)的[paragraph1paragraph2paragraph3]
,那么您可以执行以下操作:
tagsCollection = document.getElementsByTagName('p');
var ar = [];
for(var i = 0; i < tagsCollection.length; i++ ) {
ar.push(tagsCollection[i].innerText)
}
console.log([ar.join('')]) // => ["abcde"]
请参阅this fiddle
答案 2 :(得分:0)
正如我已经评论过的,您可以使用Array.join("")
。
(function() {
var data = [];
var str = [].map.call(document.getElementsByTagName('p'), function(item) {
return item.innerHTML;
}).join("");
data.push(str);
document.write("<pre>" + JSON.stringify(data) + "</pre>");
})()
<p>hello</p>
<p>workd</p>
<p>test</p>