Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Comando <a href="">

Em uma das aulas, foi ensinado o comando

<a href="link"> clique aqui </a> 

clique aqui em html, o qual constituí um link para algum outro conteúdo. Entretanto, quando faço isso dentro do mundo javascript, não dá certo. Eu estou fazendo da seguinte forma:

<script>
document.write("<a href="link"> clique aqui </a>");
</script>

Gostaria de saber no que estou errando. Obrigado!

2 respostas
solução!

E aí, Leandro!

Isso acontece porque o JavaScript interpreta a parte "<a href=" como algo que deve ser inserido no mundo HTML separado do link. Após isso ele entende que há outra parte a ser inserida como "> clique aqui </a>".

O que está acontecendo é apenas uma confusão com as aspas. Você está está usando corretamente pensando no mundo HTML, mas isso faz o link ficar de fora por existir aspas dentro de aspas. Nesse caso, é importante definir a separação usando a concatenação (+).

O resultado é esse:

<script>
document.write("<a href=" + "link" + "> clique aqui </a>");
</script>

Dessa forma, o JavaScript vai concatenar três trechos de código em um único: "<a href=" + "link" + "> clique aqui </a>". Com isso, o resultado final exibido lá no mundo HTML é o esperado:

<a href="link"> clique aqui </a> 

Caso tenha achado muito complicado, existe uma maneira mais simples de fazer isso.

Para adicionar aspas no mundo HTML através do JavaScript, é necessário apenas usar uma \ antes das aspas. O resultado é esse:

<script>
document.write("<a href=\"link\"> clique aqui </a>");
</script>

Essa barra informa pro JavaScript que o que vem logo a seguir não faz parte da sintaxe do JavaScript e que deve ser exibido.

Muito Obrigado pela explicação Rodrigo! Ficou muito claro, perfeito!