zoukankan      html  css  js  c++  java
  • zepto源码--qsa--学习笔记

    zepto内部选择器qsa方法的实现。

    简述实现原理:

    通过判断传入的参数类型:

      如果是'#id',则使用getElementById(id)来获取元素,并且将结果包装成数组形式;

      如果是'.class',则使用getElementsByClassName(class)获取元素;

      如果是'tagName',使用getElementsByTagName(tagName)获取元素;

      如果参数是复杂的css选择器,则使用element.querySelectorAll(css选择器)来获取元素。

    方法开始定义变量备用:

      found,用于存储获取到的元素节点;

      maybeID,通过传入的参数第一个字符是否为'#',判断当前的参数是id类型;

      maybeClass,参数的第一个字符如果是'.',判断当前的参数是className;

      nameOnly,不管传入什么养的参数,只保留纯粹的字母参数,去除掉'.'或者'#';

      isSimple,根据前面定义的simpleSelectorRE正则表达式,判断当前的参数是否为简单的选择器。

    return的结果就是qsa方法的返回结果,依然使用了大量的三元运算符?:,逐行解析如下:

  • 相关阅读:
    WPF应用
    web窗体的运用
    关于计算器的封装
    典型用户、用户故事
    第五次作业
    第四次作业
    四则运算
    git 认识
    First article
    TODO
  • 原文地址:https://www.cnblogs.com/zhuhuoxingguang/p/6027169.html
Copyright © 2011-2022 走看看