WikiLerni/front/src/tools/dom.js

34 lines
1.2 KiB
JavaScript
Raw Normal View History

import { isEmpty } from "../../../tools/main";
// Fonction associant les attributs fournis à un champ de formulaire
export const addElement = (eltParent, eltType, eltContent="", eltId="", eltClass=[], eltAttributes={}, replace=true) =>
{
if(isEmpty(eltType) || isEmpty(eltParent))
return false;
else
{
const newElement=document.createElement(eltType);
if(!isEmpty(eltId))// tester si l'id n'est pas déjà utilisé dans le DOM ?
newElement.id=eltId;
if(Array.isArray(eltClass) && eltClass.length!=0)
{
for(let i in eltClass)
newElement.classList.add(eltClass[i]);
}
if(typeof eltAttributes === "object") // !! tous les objets ne sont pas ok
{
for(let attributName in eltAttributes)
newElement.setAttribute(attributName, eltAttributes[attributName]);
}
if(!isEmpty(eltContent))
newElement.innerHTML=eltContent.replace(/\n/g,"<br>");// innerHTML permet d'ajouter du texte ayant lui-même des balises, etc.
if(replace)
eltParent.innerHTML="";
eltParent.appendChild(newElement);
}
}