看那DOM方法的名稱:getElement * S * ByClassName。這是一個複數,所以可能並且很可能會返回多於一個的元素。
這些元素將存儲在一個數組中,如對象(NodeList
的實例)。
var usernames = document.getElementsByClassName('user');
var first = usernames[0];
但實際上,getElementsByClassName
不能很好的支持,這將是最好使用querySelectorAll
(比較the querySelector
support支持與的the getElementsByClassName
,尤其是IE)
var usernames = document.querySelectorAll('.user');
var first = usernames[0];
此外,利用這些選擇,您可以繞過必須查詢整個DOM:
var username = document.querySelector('.user');//gets just one
注意:
0在the NodeList
class on MDN here
詳情請注意,火狐的一些版本將返回不叫NodeList
對象,但Mozilla的自己的DOM API的超集,它擴展了NodeList
構造。我不記得那個對象叫做ATM,但是一旦我記得
+1,我會再次聯繫,因爲不希望將jQ用於這樣的事情......這表明你願意把努力學習自己使用JS和(笨拙的)DOM API,而不是依賴經常被濫用的工具 –