Creo que estás haciendo la pregunta incorrecta. El atributo de destino no es válido en XHTML 1.0 estricto, independientemente de si lo inserta con JavaScript o simplemente lo tiene en la respuesta del servidor.
Si realmente quieres ese atributo, tienes que usar un doctype diferente, pero esa tampoco es la respuesta correcta.
Usted debe preguntarse por qué quiere el atributo. Supongo que estás intentando crear una nueva pestaña o ventana. Huelga decir que esto generalmente se considera un mal diseño (le quita el control al usuario), pero si realmente quieres hacerlo, puedes hacerlo con JavaScript.
Así es como:
Mantenga sus enlaces, pero añadir una clase especial, por ejemplo, "emergente" para ellos. A continuación, añadir una línea de código JavaScript (preferiblemente usando un marco como jQuery o Prototype para que sea más fácil) que se lleva todos los vínculos con esa clase y les da un controlador on-clic que resulta en la creación de una nueva pestaña/ventana y cancela el valor por defecto acción (es decir, evita que el enlace funcione como un enlace). Sin embargo, eso todavía molestará a la gente ya que anula el comportamiento esperado.
Lo que no debe hacer es reemplazar los enlaces con enlaces ficticios y confiar en JavaScript para que los enlaces funcionen.
caso omiso de eso. El atributo target
ya no está en desuso en HTML (el nivel de vida o "5", dependiendo de si sigues WHAT WG o W3C). hoy la respuesta correcta es simplemente reemplazar su DOCTYPE con esto:
<!doctype html>
nota que ya no tiene que estar en mayúsculas, ni realmente se ven como una declaración DOCTYPE completa SGML. Es solo un artefacto vestigial que identifica el documento como HTML conforme a los estándares.
Tal vez sea obvio para otras personas, pero esta pregunta no tiene sentido para mí. ¿Puedes elaborar un poco? –
@ Adam: cree una página HTML simple con un elemento de enlace que tenga el atributo "target =" _ blank ". Intente validarlo contra el validador W3C. Obtendrá un error (IIRC porque el atributo target está en desuso) – DVK