2018.4.23李锦浩【连续第195天】
尽管Dom作为Api已经非常完善了,但是为了实现更多的功能,仍然有一些标准或专有的扩展。
SelectorsAPI是由W3C发起指定的一个标准,致力于让浏览器原生支持CSS查询。这个API的核心方法是两个:querySelector()和querySelectorAll()。
QuerySelector()方法接受一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null。通过Document类型调用querySelector()方法的时候,会在文档元素的范围内查找匹配的元素,而通过Element类型调用querySelector()方法,只会在该元素的后代元素的范围内查找匹配的元素。如果传入了不被支持的选择符,querySelector()会抛出错误。
QuerySelectorAll()方法接收的参数与querySelector()一样,都是一个CSS选择符,但返回的是所有匹配的元素。这个方法返回的都是一个NodeList的实例。NodeList实际上是带有所有属性和方法的NodeList,而底层实现则类似于一组元素的快照,而非不断对文档进行搜索的动态查询,这样实现可以避免出现NodeList的大多数性能问题。
SelectorsAPIlevel2为ELEment类型新增了一个方法matchesSelector()方法。这个方法接收一个参数,即CSS选择符,如果调用元素与该选择符相匹配,返回true,否则返回false。
明日任务:继续学习JavaScript