我正在尝试使用mootools框架为我的网站创建一个页面。我已经到处寻找我能想到的答案,为什么这不起作用,但是空洞。
我想从html填充几个具有不同数据类型的数组,然后通过索引号调用每个数组中的元素,动态链接和控制函数中的这些元素。我在mootools jsfiddle实用程序中测试下面的简单代码片段。尝试从数组“region”调用元素直接返回“undefined”并尝试返回元素的索引号返回空值“-1”。
我无法从这个数组中获取有用的数据。我可以想到三个可能的原因,但无法弄清楚如何识别这里真正发生的事情: 也许这个数组根本没有填充任何数据。 2.也许它正在填充,但我误解了“document.getElementBytag()”获得了什么类型的数据,因此,无法使用“document.writeln()”语句显示数据。 (或者我被迫盲目地创建我的所有阵列?) 3.问题可能是以这种方式创建的数组未编入索引。 (或者我可以做些什么来索引这个数组?)
HTML:
<div>Florida Virginia</div>
<div>California Nevada</div>
<div>Ohio Indiana</div>
<div>New York Massachussetts</div>
<div>Oregon Washington</div>
JS:
var region = $$('div');
document.writeln(region[2]);
document.writeln(region.indexOf('Ohio Indiana'));
感谢帮助js新手弄清楚这个阵列的内容发生了什么。
答案 0 :(得分:2)
$$
将返回DOM元素列表。如果您只对这些DOM节点的文本感兴趣,请先将该位提取出来。正如@Dimitar在评论中指出的那样,在get
的对象上调用Elements
将返回一个数组,可能是通过迭代集合中的每个元素并获得有问题的属性。
var region = $$('div').get('text');
console.log(region[2]); // Ohio Indiana
console.log(region.indexOf('Ohio Indiana')); // 2
同样使用console.log
代替document.writeln
或document.write
,原因是调用此函数将清除整个文档并将其替换为传入的任何字符串。
查看example。