Я хочу создать небольшую библиотеку JS с некоторыми служебными функциями, такими как jQuery. Подход к кодированию ниже является правильным или любым другим лучшим способом сделать это. Я хочу услышать предложения, такие как рекомендуемый подход или любой шаблон проектирования.
function $(selector){
const self = {
element:document.querySelector(selector),
elements:document.querySelectorAll(selector),
hide:()=>{
self.elements.forEach(element => {
element.style.display = 'none';
});
return self;
},
show:()=>{
self.elements.forEach(element => {
element.style.display = 'initial';
});
return self;
},
on:(event,callback)=>{
self.elements.forEach(element => {
element.addEventListener(event,callback);
});
return self;
},
attr:(attribute,value = null)=>{
if(value != null){
self.elements.forEach(element => {
element.setAttribute(attribute,value);
});
return self;
}
else
self.element.getAttribute(attribute)
}
}
return self;
}