all files / src/ query.js

100% Statements 12/12
100% Branches 4/4
100% Functions 1/1
100% Lines 12/12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27                69×     68× 12× 12× 12×   56× 56× 56× 56×        
import {setCollection} from './collection'
 
/**
 * 查找
 * @param {string} selector 选择器
 * @param {HTMLElement} context 上下文
 */
export function query (selector, context) {
  if (selector[0] === '<') {
    const div = document.createElement('div')
    div.innerHTML = selector
    setCollection(this, div.children)
  } else {
    // 元素
    if (selector.nodeType === 1) {
      this[0] = selector
      this._collections = [selector]
      this.length = 1
    } else {
      this._selectors = selector
      const elems = context.querySelectorAll(selector)
      this._collections = elems
      setCollection(this, elems)
    }
  }
}