js蛋疼的Class(获取class对象)

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

今天偶然发现一片文章吐槽jquery拥抱JavaScript,原文地址。其中就提到了jsdocument.getElementsByClassNamejquery$(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每次用都要引外部文件很烦。嘿嘿~~

原文地址:https://www.cnblogs.com/interdrp/p/9284616.html