chirashijs/chirashi

View on GitHub
lib/_internals/_getElement.js

Summary

Maintainability
A
25 mins
Test Coverage
const reg = /^[.#]?[\w-_]+$/

export default function _getElement (from, selector) {
  if (selector.search(reg) === 0) {
    switch (selector[0]) {
      case '.':
        return from.getElementsByClassName(selector.slice(1))[0]
      case '#':
        return from === document ? from.getElementById(selector.slice(1)) : from.querySelector(selector)
      default:
        return from.getElementsByTagName(selector)[0]
    }
  }

  return from.querySelector(selector)
}