Ir ao conteúdo

Javascript Como exibir um Objeto Javascript dentro de uma div?


Ir à solução Resolvido por DiF,

Posts recomendados

Postado

Olá a todos, sou iniciante em programação e me deparei com a seguinte situação.

Sei criar um objeto, porêm não sei como exibilo dentro de uma div no meu html.

 

Suponhamos que eu quisesse exibir o seguinte objeto dentro da minha <div class="objeto">

let meuObjeto = {
  nome: 'Faca',
  marca: 'Tramontina',
  valor: 'R$ 45,00'
}

 

De que forma eu faria isso?

com inner.HTML ? inner.Text ? nenhum dos dois ?

  • Moderador
Postado

@imDEV Podes fazer com InnerHTML. 

 

<div id="objeto">
let meuObjeto = {
  nome: 'Faca',
  marca: 'Tramontina',
  valor: 'R$ 45,00'
}

document.getElementById("objeto").innerHTML = "Nome: " + meuObjeto.nome +
 "<br/>Marca: " + meuObjeto.marca + "<br/> Valor: " + meuObjeto.valor;

 

 Exemplo online: https://jsfiddle.net/dife/4kcrg1sL/

 

NO  exemplo acima, o elemento DIV precisa ser com  "ID",  caso queira usar  "class"..  fica dessa maneira:

<div class="objeto">
document.getElementsByClassName("objeto")[0].innerHTML = "Nome: " + meuObjeto.nome +
 "<br/>Marca: " + meuObjeto.marca + "<br/> Valor: " + meuObjeto.valor;

 

 

 

Postado

Olá!
Exibir com que intuito?
Se for apenas para debugar, segue sugestão:
 

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Debugar objeto</title>
  <style>
    div.objeto {
      font-family: monospace;
      white-space: pre;
    }
  </style>
</head>

<body>
  <div class="objeto"></div>

  <script>
    let meuObjeto = {
      nome: 'Faca',
      marca: 'Tramontina',
      valor: 'R$ 45,00'
    }

    document.querySelector('.objeto').innerHTML = JSON.stringify({ meuObjeto }, null, 2)
  </script>
</body>

</html>

 

image.png.cf310128af812477ef51c4f3aa5231f9.png

  • 2 semanas depois...
Postado

@DiF

Em 19/09/2022 às 05:28, DiF disse:

 

<div class="objeto">
document.getElementsByClassName("objeto")[0].innerHTML = "Nome: " + meuObjeto.nome +
 "<br/>Marca: " + meuObjeto.marca + "<br/> Valor: " + meuObjeto.valor;

@DiF entendi qual era o problema, eu estava tentando usar o class e não o ID.

bom, entendi a forma de usar o ID, agora essa forma de usar a class só não entendi essa array antes do innerHTML.

Teria como me explicar basicamente o porque usar essa array antes ?

  • Moderador
  • Solução
Postado

@imDEV

12 horas atrás, imDEV disse:

agora essa forma de usar a class só não entendi essa array antes do innerHTML.

Teria como me explicar basicamente o porque usar essa array antes ?

O método getElementsByClassName  retorna um vetor de objetos, o HTMLcollection que contém todos elementos filhos que possuem o nome da classe informado.
Ele vai pegar as várias ocorrências de uma classe.. é uma lista também. Então no caso,  no exemplo  continha apenas 1 elemento com essa classe, logo, seria necessário buscar o primeiro elemento dessa lista.. que é o índice zero.   [0]  

 

document.getElementsByClassName("objeto")[0]

 

Agora vamos a outro exemplo:

p.azul{ color: blue;}
p.vermelho{color: red;}

 

<div>
   <p class="azul">Este parágrafo contém uma frase em azul</p>
   <p class="vermelho">Este parágrafo contém uma frase em vermelho</p>
   <p class="vermelho">Este parágrafo contém uma frase em vermelho</p>
   <p class="vermelho">Este parágrafo contém uma frase em vermelho</p>
</div>  

 

 

Vamos supor que você precisa alterar o texto e a cor do segundo paráfrafo de um dos filhos de um elemento

document.getElementsByClassName("vermelho")[1].innerHTML = "Agora este segundo parágrafo está na cor verde";
document.getElementsByClassName("vermelho")[1].style.color = "#52cf44";

 

Veja, que agora, o elemento possui 3 ocorrências da mesma classe, para buscar o segundo elemento, informamos ao getEelementsByClassName que seja pego o elemento no índice [1]

 

Veja na prática: https://jsfiddle.net/dife/t40z2m8x/1/

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...