基于CSS类动态填充Javascript数组?

时间:2011-09-02 15:07:27

标签: php javascript css arrays

我正在构建一个当前包含大量需要循环的隐藏div的应用程序。

现在,周期中只有5个div,但最终会有20个以上。有没有办法根据CSS中的起始类将所有ID都放入数组中?现在,默认div具有类“show tab”,其他类具有类“hide tab”。我希望能够使用具有'tab'类的元素的所有ID来填充数组。

我尝试了getElementsByClass,但我不认为我理解它是如何工作的 - 它只是保持返回未定义。

页面的大部分都是用PHP编写的,所以如果有办法使用PHP获取ID,然后将其传递给javascript,那也可以。

非常感谢任何帮助=)

1 个答案:

答案 0 :(得分:1)

这将使用“纯”Javascript(即开箱即用的Javascript)按类名将所有div转换为数组:

var tabs = document.getElementsByClassName('tab');

div可以应用任意数量的其他类,但如果它们具有“tab”类,则它们将被包括在内。然后tabs数组将是DOM对象的数组。要访问div的ID,您可以这样做:

var id = tabs[0].id;

另外,如果你想使用jQuery,这会创建一个类似于div的类似数组的对象:

var tabs = $('.tab');