之前處理class對象被迫用jquery,以為JavaScript不支持class。確實百度某些大神也說js不待見class對象,就這樣本菜放棄了原生js。
今天偶然發現一片文章吐槽jquery擁抱JavaScript,原文地址。其中就提到了js的document.getElementsByClassName比jquery的$(classSelector)強50倍。
有圖有真相

到這里本菜的問題來了,之前度娘不是告訴我js不待見class嗎?這又算哪門子方法。抱着求真務實的心態本菜決定試一下。
var box = document.getElementsByClassName("box"); box.value; //返回undefined
為甚是undefined?這邊文章不是赫然寫着document.getElementsByClassName是原生js的函數嗎?不可能沒拿到class對象啊
帶着疑問又開始問度娘... ...
度娘告訴我document.getElementsByClassName拿到的是數組並非某一個對象,然后又試了一下。
var box = document.getElementsByClassName("box"); box[0].value; //返回 box的內容
也許是jquery的$(classSelector)用多了,習慣性認為獲取的是需要的那個對象,而忽略了最重要的class可復用,id不可復用原則。所以js之前沒做getElementByClassName也是出於嚴謹的考慮,現在document.getElementsByClassName返回數組應該也是出於嚴謹的考慮。
本菜選擇js不用jquery單純覺得jquery每次用都要引外部文件很煩。嘿嘿~~
