Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

178
Visualizações
How to improve my add class to element functions

I want to write a vanilla js function that works like jQuery's addClass() function. I have written the code below.

function checkType(value){ //get type of target
    var name = "";
    var type = value.split("");
    for(var i=1; i<type.length; i++){
        name = name + type[i];
    }
    if(type[0] == "#"){ //if id
        return document.getElementById(name);   //return id
    }else if(type[0] == "."){ //if class
        return document.getElementsByClassName(name); //return class
    }else{
        return null;
    }
}

function classesToArray(value){ 
    if(value != null){
        value = value.split(" ");
        return value;
    }
    return [];
}

function addClass(target, value) {
    var element = checkType(target);
    var classes = classesToArray(value);
    if(element != null){
        classes.forEach(function(classItem){
            if(element.length){
                for(var i = 0; i < element.length; i++){
                    element[i].className += " " + classItem;
                }
            }else{
                element.className += " " + classItem;
            }
        });
    }
}

So the way to use it is as below

addClass('.elementIdName','nameOfClassToAdd');    //target Id if begin with .
addClass('#elementClassName','nameOfClassToAdd'); //target className if begin with #

addClass('.elementIdName', 'nameOfClass1 nameOfClass2'); //you can also add multiple class names

The code works. But I know there's a lot of room to improve it. I'd really appreciate if someone could show me the ropes on what should I look for to improve this. Thanks

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

There is no need to write your own addClass function.

You can use this:

let el = document.querySelector("#your_element_id");
if(el) {
   el.classList.add("your class name");
}

source: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda