数组函数不适用于从元素文本创建的JavaScript数组
因此,我有以下元素,当单击调用JavaScript函数响应(标记)时。我将元素“rops”本身传递给函数数组函数不适用于从元素文本创建的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
<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);
}