Como fazer um target=”_blank” valido em strict.
Como sabemos, um html feito em modo strict, não permite alguns elementos eventualmente usados no modotransitional (aceitos na validação do w3c), como por exemplo o target=”_blank”. Quando digo “não permitem” quero dizer “não validam o código html”.
Porém, para tudo tem uma solução, e para este caso não é diferente. Poderíamos fazer isto com javascript puro, mas perderíamos tempo e utilizaríamos muitas linhas de código. Logo vamos a praticidade, vamos usar jquery para poder fazer este simples efeito e validar seu html strict.
Para começar é válido lembrar: o jquery pode ser baixado no próprio site do jquery. Sem ele, este tutorial nao servirá de nada.
Pra começar, vamos fazer com que o html leia nossa função no momento em que a página for carregada:
$(document).ready(function(){
linkExterno();
})
Como podemos ver, eu já coloquei o nome da minha função dentro da chamada, logo a função que vamos criar, terá o mesmo nome.
Nossa função é bem simples… Não tem nenhum mistério e com certeza será muito útil para muitos desenvolvedores. Então lá vai a função:
function linkExterno() {
$(’a.linkOut’).attr(’target’,'_blank’);
}
O que eu fiz neste exemplo é bem simples e vou explicar. Eu simplesmente disse que toda tag “a” que tiver uma classe “linkOut” terá um target _blank ao ser carregada a página. Sem dúvidas se fosse ser feito com javascript normal, usariamos muitas linhas de código e ainda teriamos mais dor de cabeça.
Como nós, desenvolvedores, nos preocupamos muito com a modularização, que é a separação dos conteudos (js, css e html), acho que fica valido esta dica.
Bom, este é meu primeiro post e espero que gostem. Fico aberto a críticas, elogios, sugestões, entre outros.
Um forte abraço!