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