6. Propriedades textContent, innerHTML e value
Na função mostrarOlaf), são utilizadas as propriedades value e textContent. Elas serão utilizadas em praticamente todos os programas desenvolvidos neste e nos demais capítulos do livro. A propriedade value obtém ou altera o conteúdo de um campo de formulário HTML. Portanto, para obter o nome do usuário informado no Exemplo 2.1, é preciso utilizar essa propriedade junto com o método getElementById() que faz uma referência a um campo de formulário identificado no código HTML.
Já a propriedade textContent serve para alterar ou obter o conteúdo de elementos de texto do documento identificados no código HTML. É possível, portanto, alterar o texto de qualquer parágrafo ou texto de cabeçalho em uma página web utilizando essa propriedade. Há também a propriedade InnerHTML, semelhante a textContent quanto aos elementos em que atua, porém renderiza os códigos HTML existentes no seu conteúdo. ATabela 2.1 destaca a diferença entre as propriedades textContent, innerHTML e value.
TABELA
A propriedade innerHTML pode apresentar algum risco relacionado à segurança na construção de páginas web em um tipo de ataque denominado XSS (Cross-Site Scripting). Essa vulnerabilidade explora a exibição de dados contendo códigos que poderiam ser enviados por usuários maliciosos. Para evitar esse problema, é necessário filtrar os dados de entrada de um site. Nos exemplos do livro, utilizaremos as propriedades value e textContent. O inconveniente da textContext é que, no Internet Explorer, ela só passou a ser suportada na versão 9. Caso necessite rodar nossos exemplos nas versões antigas do Internet Explorer, substitua a textContent por innerHTML.