之前处理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每次用都要引外部文件很烦。嘿嘿~~
© 版权声明
THE END
暂无评论内容