Каковы все допустимые самозакрывающиеся элементы в XHTML (как это реализовано в основных браузерах)? - PullRequest
182 голосов
/ 19 сентября 2008

Каковы все допустимые самозакрывающиеся элементы (например,
) в XHTML (как реализовано в основных браузерах)?

Я знаю, что XHTML технически позволяет самозакрывать любой элемент, но я ищу список этих элементов, поддерживаемых всеми основными браузерами. См. http://dusan.fora.si/blog/self-closing-tags для примеров некоторых проблем, вызванных самозакрывающимися элементами, такими как

.

Ответы [ 13 ]

2 голосов
/ 27 августа 2010

Я не собираюсь переусердствовать в этом, тем более что большинство страниц, которые я пишу, либо сгенерированы, либо тег содержит контент. Единственные два, которые когда-либо создавали мне проблемы при самозакрытии:

<title/>

Для этого я просто прибегнул к тому, чтобы всегда давать ему отдельный закрывающий тег, поскольку, попав в <head></head>, он в действительности не делает ваш код более сложным для работы.

<script/>

Это самая большая проблема, с которой я совсем недавно столкнулся. В течение многих лет я всегда использовал самозакрывающиеся теги <script/>, когда скрипт поступает из внешнего источника. Но я совсем недавно начал получать сообщения об ошибках JavaScript о нулевой форме. После нескольких дней исследований я обнаружил, что проблема была (предположительно) в том, что браузер никогда не получал тег <form>, потому что не понимал, что это конец тега <script/>. Поэтому, когда я сделал это в отдельных тегах <script></script>, все работало. Почему разные на разных страницах, которые я сделал в одном браузере, я не знаю, но найти решение было большим облегчением!

2 голосов
/ 13 октября 2008

Еще одна проблема с самозакрывающимся тегом для IE - элемент title. Когда IE (только что попробовал в IE7) видит это, он представляет пользователю пустую страницу. Однако вы «просматриваете источник», и все есть.

<title/>

Первоначально я видел это, когда мой XSLT генерировал самозакрывающийся тег.

0 голосов
/ 19 сентября 2008


это другой
...