Я думаю, вы задаете не тот вопрос. Атрибут target недопустим в строгом XHTML 1.0 независимо от того, вставляете ли вы его с помощью JavaScript или просто используете в ответе сервера.
Если вы действительно хотите этот атрибут, вы должны использовать другой тип документа, но это не совсем правильный ответ.
Вы должны спросить себя, зачем вам этот атрибут. Я предполагаю, что вы пытаетесь создать новую вкладку или окно. Излишне говорить, что это обычно считается плохим дизайном (он отнимает у пользователя контроль), но если вы действительно хотите это сделать, вы можете сделать это с помощью JavaScript.
Вот как:
Сохраните ваши ссылки, но добавьте специальный класс, например, «всплывающее» им. Затем добавьте строку JavaScript (желательно с использованием инфраструктуры, такой как jQuery или Prototype, чтобы упростить его), которая берет все ссылки с этим классом и предоставляет им обработчик по нажатию, который приводит к созданию новой вкладки / окна и отменяет стандартную настройку действие (т. е. прекращает работу ссылки в качестве ссылки). Это все равно будет раздражать людей, поскольку оно отвергает ожидаемое поведение.
Чего не следует делать, так это заменять ссылки фиктивными ссылками и полагаться на JavaScript для работы ссылок.
Не обращайте внимания на это. Атрибут target
больше не считается устаревшим в HTML (уровень жизни или «5», в зависимости от того, следуете ли вы WHAT WG или W3C). Правильный ответ сегодня состоит в том, чтобы просто заменить ваш DOCTYPE следующим:
<!doctype html>
Обратите внимание, что он больше не должен быть в верхнем регистре и не должен выглядеть как полное объявление SGML DOCTYPE. Это просто рудиментарный артефакт, идентифицирующий документ как соответствующий стандарту HTML.