UNPKG

rabbit-simple-ui

Version:

A simple UI component library based on JavaScript

66 lines (55 loc) 2 kB
/** * 获取元素 * @param node * @param options 选项 all 表示是否获取所有节点 */ export function $el( node: string | Element | any, options?: { all: boolean } ): Element | HTMLElement | null | NodeListOf<any> | NodeListOf<Element> | any { if (options?.all) { return document.querySelectorAll(node); } else { return document.querySelector(node); } } export function createElem(tagName: string): HTMLElement { return document.createElement(tagName); } export function setCss(node: Element | HTMLElement | any, styeName: string, value: string): string { return (node.style[styeName] = value); } export function setHtml(node: Element, value?: string): string { if (value || value === '') { return (node.innerHTML = value); } else { return node.innerHTML; } } export function setText(node: Element, value?: string): string { if (value || value === '') { return (node.textContent = value); } else { return node.textContent || ''; } } // 通用的标签属性获取方法 // 获取后的值由原先的字符串类型转换成对应类型 // Return String type export function getStrTypeAttr(node: Element, attrName: string, defaultVal: string): string | any { return node.getAttribute(attrName) || defaultVal; } // Return Boolean type export function getBooleanTypeAttr(node: Element, attrName: string): boolean { return node.getAttribute(attrName) === 'true'; } // Return Number type export function getNumTypeAttr(node: Element, attrName: string, defaultVal?: number): number | any { return Number(node.getAttribute(attrName)) || defaultVal; } // Return Array type export function getArrTypeAttr(node: Element, attrName: string): Array<string | number> { const attr = node.getAttribute(attrName)?.replace(/'/g, '"') || '[]'; const array: [string | number] = JSON.parse(attr); return array; }