Questão FC373359
Considere a página HTML abaixo, que contém código JavaScript. <body> <div> <p>Primeiro Parágrafo.</p> <p>Segundo Parágrafo.</p> </div> <script> var para = document.createElement( "
Desenvolvimento Web
FCC · 2019
Considere a página HTML abaixo, que contém código JavaScript.
<body>
<div>
<p>Primeiro Parágrafo.</p>
<p>Segundo Parágrafo.</p>
</div>
<script>
var para = document.createElement( "p" );
var node = document.createTextNode( "Terceiro Parágrafo." );
var element = document.getElementById( "caixa" );
...I...;
</script>
</body>
Sabendo que com HTML DOM, JavaScript pode acessar e mudar os elementos de uma página web, para que o Terceiro Parágrafo seja adicionado ao contêiner identificado como caixa, a lacuna I deve ser corretamente preenchida por
- document.getElementById ( "caixa" ) .add ( para )
- element.append(para.append ( node ) )
- element.innetHTML(para.add ( node ) )
- element.addNode(para.addContent ( node ) )
- element.appendChild(para.appendChild ( node ) )
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A expressão element.appendChild(para.appendChild(node)) executa duas operações: primeiro para.appendChild(node) anexa o nó de texto ao elemento para e retorna o próprio node.
Em seguida, element.appendChild(...) recebe esse retorno e anexa o node ao elemento element. Na prática isso desloca o nó de texto do p para o contêiner caixa, deixando o p vazio.
Logo, embora a string "Terceiro Parágrafo." passe a pertencer ao contêiner caixa, ela não ficará encapsulada dentro do elemento <p> criado.
Se o objetivo for inserir o <p> com texto dentro de caixa, a forma correta em cadeia seria: element.appendChild(para).appendChild(node), pois primeiro anexa o p e depois insere o texto nele.
Conteúdo do catálogo FC Concursos · Atualizado em