Veja alguns métodos #DOM que facilitam muito as coisas em #javascript

 

 

Acessar elementos por id, name, tag, classe e etc. Assim como verificar demais #atributos de um #elemento

Vemos explorar alguns deles com exemplos. Mais material no nosso @brcodesnippets

Se a reutilização for muito grande você pode querer criar métodos auxiliares para isso.

Acessando o elemento.

<input type="text" id="my-id" name="my-field" value="my-value" class="my-class"/>

// <input type="text" id="my-id" name="my-field" value="my-value" class="my-class"/>
// É altamente recomendado, obrigatório na verdade, que todos os elementos de uma página tenham id único.

// document.getElementById();

function getById(id)
{
 if(document.getElementById(id)) {
 return document.getElementById(id)
 }
 return null;
}

// exemplo de uso
let element_1 = getById('my-id');

// A partir deste ponto podemos testar se o elemento é nulo e se tem determinada classe ou atributo.

Com um console.log(element_1), teremos algo próximo a isso.

Algumas maneiras de acessar elementos com javascript


Por id

 document.getElementById('my-id'); ou document.querySelector('my-id');

Pela tag name

// Retorna um HTMLCollection
let elementsByTagName = document.getElementsByTagName('input');
console.log(elementsByTagName); 


Pelo name

// Retorna um NodeList
let elementsName = document.getElementsByName('my-field');
console.log(elementsName);


Pelo nome de uma classe

// Retorna HTMLCollection
let elementsClassName = document.getElementsByClassName('my-class');
console.log(elementsClassName);

// Retorna um NodeList
let elementsClassNameQSelector = document.querySelectorAll('.my-class');

Mais dicas de como pegar um ou mais elementos com javascript: https://www.codesnippets.dev.br/post/javascript-tips-pegar-elemento-por-id-tag-name-class-e-seletor-css


Atributos e outras propriedades.

Depois que identificamos o elemento podemos capturar comportamentos, atributos ou propriedades conforme necessário.

Vamos ver como podemos pegar alguns atributos conforme nome.

<input id="my-id" class="my-class" data-custom="teste" data-status="0" type="text" name="my-field" value="my-value">

// javascript

// recupera o elemento pelo id
function getById(id)
{
 if(document.getElementById(id)) {
 return document.getElementById(id)
 }
 return null;
}

// recupera o valor de um atributo pelo elemento e nome do atributo
let getAttr = function(element,name){
 return element.getAttribute(name);
}


let element_1 = getById('my-id');


//0
console.log(getAttr(element_1,'data-status'));

//teste
console.log(getAttr(element_1,'data-custom'));

Código testado

<!DOCTYPE html>
<html lang="pt-br" dir="ltr">

<head>
 <meta charset="utf-8">
 <title></title>
</head>

<body>
 <input data-nomeCliente="sss" data-custom="teste" data-status="0" type="text" id="my-id" name="my-field" value="my-value" class="my-class" />
 <script type="text/javascript">
 // <input type="text" id="my-id" name="my-field" value="my-value" class="my-class"/>
 // É altamente recomendado, obrigatório na verdade, que todos os elementos de uma página tenham id único.
 // document.getElementById();

 function getById(id) {
 if (document.getElementById(id)) {
 return document.getElementById(id)
 }
 return null;
 }

 const getAttr = function(element, name) {
 return element.getAttribute(name);
 }

 const getDatasetValueByAttribute = function(element, attributeName) {
 if (element && attributeName) {
 // Transforma o nome do atributo para camelCase
 const datasetKey = attributeName.toLowerCase();
 // Verifica se o atributo existe no dataset do elemento
 if (datasetKey in element.dataset) {
 return element.dataset[datasetKey];
 }
 }
 return null;
 }

 const elementsByTagName = document.getElementsByTagName('input');

 const elementsByName = document.getElementsByName('my-field');

 const elementsByClassName = document.getElementsByClassName('my-class');

 const elementsByClassNameQSelector = document.querySelectorAll('.my-class');

 const element_1 = getById('my-id');

 console.log(getDatasetValueByAttribute(element_1, 'nomeCliente'));

 console.log(getAttr(element_1, 'data-nomeCliente'));

</script>
</body>

</html>