Leandro precisa escrever uma mensagem dinâmica em uma div, através do Java Script, e sabe que deve ser utilizado DOM, ou Document Object Model, para acessar os elementos de sua página. Considerando que o id utilizado na div é "msgOut", e que a variável msg contém a mensagem, Leandro irá utilizar o comando:
- A)document["msgOut"].innerHTML=msg;
Errada, porque document["msgOut"] não é a forma padrão de acessar um elemento pelo id e ainda tenta usar innerHTML de modo inadequado.
- B)document.getElementById("msgOut").innerHTML=msg;
Certa, pois getElementById localiza a div pelo id e innerHTML recebe a mensagem para exibição dentro dela.
- C)document.setHtmlContent("msgOut",msg);
Errada, porque setHtmlContent não é um método padrão do DOM em JavaScript.
- D)document["msgOut"].html(msg);
Errada, porque html() não é um método nativo do objeto document nem do elemento nesse contexto.
- E)document.setElementById("msgOut",msg);
Errada, porque setElementById não existe no DOM; o método correto é getElementById.
Gabarito: B
Quando voce quer alterar o texto de um elemento HTML via JavaScript, o caminho mais comum é localizar o elemento no DOM e mexer em seu conteúdo. O DOM funciona como uma “árvore” da página: cada tag vira um objeto acessível pelo código. Assim, se a div tem id, voce pode encontrá-la diretamente pelo identificador e então definir seu conteúdo interno. Na questão, a ideia é escrever uma mensagem dinâmica dentro da div com id "msgOut". Para isso, o comando correto usa o método que busca o elemento pelo id e depois atribui a mensagem à propriedade que altera o HTML interno. Em outras palavras: primeiro encontra a div, depois coloca o conteúdo lá dentro. O gabarito B está correto porque document.getElementById("msgOut") retorna o elemento correspondente ao id informado, e innerHTML permite definir o conteúdo HTML exibido nesse elemento. Se msg contém a mensagem, a atribuição fica exatamente no formato esperado para inserir o texto na div. Em prova, vale lembrar essa combinação clássica: getElementById para localizar, innerHTML para preencher. É uma dupla tão frequente em JavaScript básico que a banca costuma cobrar justamente para ver se voce confunde o método de busca com o de alteração do conteúdo.