如何从"document.getElementBytag()"创建的数组中调用元素?



我正在尝试使用mootools框架为我的网站创建一个页面。我到处寻找我能想到的答案,为什么这不起作用,但都是空的。

我想用html中的不同数据类型填充几个数组,然后,通过按索引号调用每个数组中的元素,在函数中动态链接和控制这些元素。我在mootoolsjsfiddle实用程序中测试了下面的简单代码片段。尝试从数组"region"中调用元素会直接返回"undefined",而尝试返回元素的索引号会返回null值"-1"。

我无法从这个数组中获取有用的数据。我能想到三个可能的原因,但不知道如何识别这里真正发生的事情: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新手了解这个数组的内部情况。

$$将返回一个DOM元素列表。如果您只对这些DOM节点的文本感兴趣,那么首先提取该部分。正如@Dimitar在评论中指出的那样,对Elements的对象调用get将返回一个数组,可能是通过迭代集合中的每个元素并获得有问题的属性。

var region = $$('div').get('text');
console.log(region[2]);                      // Ohio Indiana
console.log(region.indexOf('Ohio Indiana')); // 2

也可以使用console.log而不是document.writelndocument.write,原因是调用此函数将清除整个文档,并将其替换为传入的任何字符串。

请参见示例。

最新更新