<p>以下描述摘自<a href="http://www.w3schools.com/jsref/met_document_getelementsbyclassname.asp" rel="noreferrer">this page</a>:</p>
<blockquote>
<p>The getElementsByClassName() method returns a collection of all elements in the document with the specified class name, as a NodeList object.</p>
<p>The NodeList object represents a collection of nodes. The nodes can be
accessed by index numbers. The index starts at 0.</p>
<p>Tip: You can use the length property of the NodeList object to determine the number of elements with a specified class name, then you can loop through all elements and extract the info you want.</p>
</blockquote>
<p>因此,作为参数,<code>getElementsByClassName</code>将接受类名。</p>
<p>如果这是您的HTML正文:</p>
<pre><code><div id="first" class="menuItem"></div>
<div id="second" class="menuItem"></div>
<div id="third" class="menuItem"></div>
<div id="footer"></div>
</code></pre>
<p>然后<code>var menuItems = document.getElementsByClassName('menuItem')</code>将返回上3个<code><div></code>的集合(不是数组),因为它们与给定的类名匹配。</p>
<p>然后,您可以使用以下命令在该节点(在本例中为<code><div></code>s)集合上迭代:</p>
<pre><code>for (var menuItemIndex = 0 ; menuItems.length ; menuItemIndex ++) {
var currentMenuItem = menuItems[menuItemIndex];
// do stuff with currentMenuItem as a node.
}
</code></pre>
<p>有关元素和节点之间的差异的详细信息,请参阅<a href="https://stackoverflow.com/questions/9979172/difference-between-node-object-and-element-object">this post</a>。</p>