From 9482467a577dbecfc3fe0794373e60e627cd3d51 Mon Sep 17 00:00:00 2001 From: Planet Renox Date: Thu, 5 Jun 2025 07:26:20 -0700 Subject: [PATCH] Update index.js --- index.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/index.js b/index.js index 8b13789..484ec21 100644 --- a/index.js +++ b/index.js @@ -1 +1,31 @@ +export const $ = (selector) => +{ + const el = document.querySelector(selector); + el.render = (html) => el.innerHTML = html + el.inject = (html) => el.insertAdjacentHTML('beforeend', html) + el.on = (event, handler) => el.addEventListener(event, handler); + el.click = (handler) => el.addEventListener('click', handler); + el.hide = () => el.style.display = 'none'; + el.show = () => el.style.display = ''; + el.toggle = () => el.style.display = el.style.display === 'none' ? '' : 'none'; + el.addClass = (className) => el.classList.add(className); + el.removeClass = (className) => el.classList.remove(className); + el.hasClass = (className) => el.classList.contains(className); + el.attr = (name, value) => value === undefined ? el.getAttribute(name) : el.setAttribute(name, value); + el.css = (styleName, value) => value === undefined ? getComputedStyle(el).getPropertyValue(styleName) : el.style[styleName] = value; + el.remove = () => el.parentNode.removeChild(el); + el.scrollTo = (options) => el.scrollIntoView(options); + el.id = () => el.getAttribute('id'); + + return el; +}; + +export const $$ = (selector) => +{ + const elements = document.querySelectorAll(selector); + elements.hide = () => elements.forEach((el) => el.style.display = 'none'); + elements.show = () => elements.forEach((el) => el.style.display = ''); + return elements; +}; +export const _ = msg => console.log(msg); // _('hello')