在第一个警报(数组[0])上,我得到一个完整的单词。在循环之后的下一个警报中,我只获得每个引用的字符。我在这里找到了一个类似的问题,但没有答案。
var listNumbers = document.getElementById("someNames").getElementsByTagName("li");
for(var i = 0; i<listNumbers.length; i++) {
z = (listNumbers[i].innerHTML);
array = z.split(" ");
alert(array[0]);
firstArray = firstArray + '"' + array[0] + '"' + ", ";
lastArray = lastArray + '"' + array[1] + '"' + ", ";
phoneArray = phoneArray + '"' + array[2] + '"' + ", ";
}
alert(firstArray[1]);
答案 0 :(得分:1)
您正在将firstArray
变量构建为字符串,而不是数组。当您使用[0]
访问字符串时,您将获得字符串中该位置的字符,而不是整个单词。
如果您希望能够访问单词,则需要将其声明为数组并使用.push()
向其添加单词。
var listNumbers = document.getElementById("someNames").getElementsByTagName("li");
var arrayOfFirstNames = [];
var arrayOfLastNames = [];
var arrayOfPhoneNumbers = [];
for(var i = 0; i<listNumbers.length; i++) {
z = (listNumbers[i].innerHTML);
array = z.split(" ");
alert(array[0]);
arrayOfFirstNames.push('"' + array[0] + '"');
arrayOfLastNames.push('"' + array[1] + '"');
arrayOfPhoneNumbers.push('"' + array[2] + '"');
}
alert(arrayOfFirstNames[0]);
我没有你的HTML,所以我没有测试过这段代码,但如果你想要的只是3个名字,姓氏和电话号码数组,你可以使用方括号表示法。