数组函数不适用于从元素文本创建的JavaScript数组

数组函数不适用于从元素文本创建的JavaScript数组,javascript,ruby-on-rails,ruby,Javascript,Ruby On Rails,Ruby,因此,我有以下元素,当单击调用JavaScript函数响应(标记)时。我将元素“rops”本身传递给函数 <li><div class="rops"><span class="rops-text"> tag2 </span></div></li> <li><div class="rops"><span class="rops-text"> tag2 </span></di

因此,我有以下元素,当单击调用JavaScript函数响应(标记)时。我将元素“rops”本身传递给函数

<li><div class="rops"><span class="rops-text"> tag2 </span></div></li>
<li><div class="rops"><span class="rops-text"> tag2 </span></div></li>
不工作: 创建的数组如下所示:

response(tag) {

 myArray[i] = String($(tag).text()); //at current point has ["tag1", "tag2"]

 //But if i do the same
 alert(myArray.indexOf("tag2")); //Gives me -1 (similar for other array function).
简而言之,使用元素文本创建数组会导致数组函数无法工作。谁能帮我一下吗。我不知道为什么会这样? 谢谢。

试试这个:

function result(tag){
   myArray = document.getElementsByTagName('span');
   alert(myArray.item('tag').innerHTML);
}

在您的
响应
功能中,如何设置
i
?在您的代码段中,它不是,因此它将是
未定义的
,它不是数字索引。您好,i的值已正确设置。我只是没有在这里输入所有的代码。此时,如果我执行“alert(myArray)”,它将显示“tag1,tag2”,因此它们已正确添加到数组中。
function result(tag){
   myArray = document.getElementsByTagName('span');
   alert(myArray.item('tag').innerHTML);
}