No contexto de paginas Web, analise a linha de código JavaScript a seguir,. <button onclick="this.innerHTML = Date()">The time is?</button> É correto afirmar que, quando o botão é clicado,
- A)um campo de input é apresentado, no qual deve ser digitada uma data/hora.
Errada, porque o código não cria campo de input nem pede para voce digitar data ou hora.
- B)o botão é preenchido com a data/hora corrente.
Certa, pois this.innerHTML troca o conteúdo do botão pelo retorno de Date(), que representa a data e hora corrente.
- C)é exibida uma mensagem com a data/hora corrente.
Errada, porque não há mensagem em popup, alert ou qualquer janela separada sendo exibida.
- D)cada elemento da página com a tag é preenchido com a data/hora corrente.
Errada, porque innerHTML é uma propriedade de um elemento específico, não de todas as tags da página.
- E)qualquer elemento HTML da página que esteja selecionado é preenchido com a data/hora corrente.
Errada, porque o código não aplica a alteração a qualquer elemento selecionado, e sim ao próprio botão clicado.
Gabarito: B
Essa linha mistura um botão HTML com JavaScript embutido no atributo onclick. Em linguagem simples, quando voce clica no botão, o código executa a instrução this.innerHTML = Date(). O this aponta para o próprio botão, e innerHTML altera o conteúdo interno desse elemento. Ou seja, o texto "The time is?" é substituído pelo resultado de Date(), que retorna a data e hora correntes em forma de string. Repare no detalhe que costuma derrubar muita gente: não é exibido um alerta, não aparece um campo para digitação e também não se altera a página inteira. O que muda é apenas o conteúdo interno do botão clicado. Em JavaScript, innerHTML serve justamente para trocar o HTML interno de um elemento, e Date() é uma função bem conhecida para obter a data/hora atual. Então, no momento do clique, o botão passa a mostrar a data e hora corrente. Em prova, a banca adora testar essa leitura literal do código, sem inventar efeito mágico fora do elemento. Aqui, o comportamento está restrito ao próprio botão.