JS获取class对象
Jason.Meng / 2021-08-26 / 编程技术 / 阅读量 156

之前处理class对象被迫用jquery,以为JavaScript不支持class。确实百度某些大神也说js不待见class对象,就这样本菜放弃了原生js。

今天偶然发现一片文章吐槽jquery拥抱JavaScript,原文地址。其中就提到了js的document.getElementsByClassName比jquery的$(classSelector)强50倍。

有图有真相

744482-20161009091200343-1863537674.jpg

到这里本菜的问题来了,之前度娘不是告诉我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每次用都要引外部文件很烦。嘿嘿~~

支付宝捐赠
请使用支付宝扫一扫进行捐赠
微信捐赠
请使用微信扫一扫进行赞赏