@ryusei/light
Version:
<div align="center"> <a href="https://light.ryuseijs.com"> <img alt="RyuseiLight" src="https://light.ryuseijs.com/images/svg/logo.svg" width="70"> </a>
29 lines (23 loc) • 624 B
text/typescript
import { append } from '../append/append';
import { addClass } from '../addClass/addClass';
/**
* Creates an HTML element.
*
* @param tag - A tag name.
* @param classes - Optional. Classes to add.
* @param parent - Optional. A parent element where the created element is appended.
*/
export function create<K extends keyof HTMLElementTagNameMap>(
tag: K,
classes?: string | string[],
parent?: HTMLElement
): HTMLElementTagNameMap[ K ] {
const elm = document.createElement( tag );
if ( classes ) {
addClass( elm, classes );
}
if ( parent ) {
append( parent, elm );
}
return elm;
}