以前處理class對象被迫用jquery,覺得JavaScript不支持class。確實百度某些大神也說js不待見class對象,就這樣本菜放棄了原生js。html
今天偶然發現一片文章吐槽jquery擁抱JavaScript,原文地址。其中就提到了js的document.getElementsByClassName比jquery的$(classSelector)強50倍。jquery
有圖有真相數組
到這裏本菜的問題來了,以前度娘不是告訴我js不待見class嗎?這又算哪門子方法。抱着求真務實的心態本菜決定試一下。函數
var box = document.getElementsByClassName("box"); box.value; //返回undefined
爲甚是undefined?這邊文章不是赫然寫着document.getElementsByClassName是原生js的函數嗎?不可能沒拿到class對象啊post
帶着疑問又開始問度娘... ... spa
度娘告訴我document.getElementsByClassName拿到的是數組並不是某一個對象,而後又試了一下。code
var box = document.getElementsByClassName("box"); box[0].value; //返回 box的內容
也許是jquery的$(classSelector)用多了,習慣性認爲獲取的是須要的那個對象,而忽略了最重要的class可複用,id不可複用原則。因此js以前沒作getElementByClassName也是出於嚴謹的考慮,如今document.getElementsByClassName返回數組應該也是出於嚴謹的考慮。htm
本菜選擇js不用jquery單純以爲jquery每次用都要引外部文件很煩。嘿嘿~~對象