按类名将元素放入数组中并使用Javascript进行警告

OOP*_*rog 4 javascript

如何获取具有特定类名的网页上的所有元素并将它们放入数组中?那么我希望能够将该数组的内容放在警告框中?

如何将这些元素id放入数组中?

Anu*_*rag 7

如果您的浏览器支持getElementsByClassName,请使用其他方式使用Web上提供的众多跨浏览器实现之一.

在本地,你会得到它们:

var elements = document.getElementsByClassName('nameOfClassHere');
Run Code Online (Sandbox Code Playgroud)

这将返回一个类似于数组的对象,您可以像在数组中一样遍历元素,但不能在其上使用数组的方法.

如果你正在使用像jQuery或MooTools这样的库,那么这项任务对你来说就更简单了.在jQuery中获取所有具有类名"myClass"的元素,并将其文本内容转换为单个字符串使用,

var combinedText = $('.myClass').text();
Run Code Online (Sandbox Code Playgroud)

使用jQuery将每个匹配元素的id转换为数组:

var arrayOfIDs = $('.myClass').map(function() { return this.id; }).get();
Run Code Online (Sandbox Code Playgroud)

如果使用MooTools,您可以使用以下内容获取具有所需类的每个元素的文本内容数组:

var texts = $$('.myClass').get('text');
Run Code Online (Sandbox Code Playgroud)

将每个匹配元素的id添加到数组中:

var arrayOfIDs = $$('.myClass').get('id');
Run Code Online (Sandbox Code Playgroud)

  • 转换一个`NodeList`将无法在IE <= 8上工作,在这种情况下并不重要,因为在那些IE版本上也不支持`getElementsByClassName`,但在其他方法的例子中,例如`getElementsByTagName`,将不工作,规范提到:*`slice`函数是否可以成功应用于宿主对象是依赖于实现的.* (3认同)