Могу ли я иметь атрибуты при закрытии тегов?
Есть много людей, которые помечают закрывающие теги, как это, чтобы помочь идентифицировать закрывающий тег, который идет с тегом HTML:
<div id="header">
<div id="logo">
<a href="index.php">
<img id="logoimg" src="images/as_logo.png" alt="Logo" border="0" />
</a>
</div> <!-- logo -->
</div> <!-- header -->
Мне было интересно, если это синтаксически нормально, чтобы сделать это:
<div id="header">
<div id="logo">
<a href="index.php">
<img id="logoimg" src="images/as_logo.png" alt="Logo" border="0" />
</a>
</div id="logo">
</div id="header">
ОБНОВЛЕНИЕ: Вот текст из спецификации HTML5.3:
8.1.2.2. Конечные теги
Конечные теги должны иметь следующий формат:
- Первым символом конечного тега должен быть символ ЗНАКА МЕНЬШЕ U + 003C (<).
- Второй символ конечного тега должен быть символом SOLIDUS U + 002F (/).
- Следующие несколько символов конечного тега должны быть именем тега элементов.
- После имени тега может быть один или несколько пробелов.
- Наконец, конечные теги должны быть закрыты знаком U + 003E БОЛЬШОГО ЗНАКА (>).
8.1.2.3. Атрибуты
Атрибуты элемента выражаются внутри начального тега элемента.
Обратите внимание, что атрибуты разрешены только на символах START.
используя идею @jbyrds; Использование тега HR позволяет увидеть, если вы забыли атрибут z:
<div id="header">
<div id="logo">
<a href="index.php" id=link">
<img id="logoimg" src="images/as_logo.png" alt="Logo" border="0" />
</a><hr z="link">
</div><hr z="logo">
</div><hr z="header">
Хотя это добавляет больше текста, 32 дополнительных символа по сравнению с оригиналом или теги, имеющие скрытый класс, вы можете использовать CSS, чтобы скрыть их.
[z] {
display: none;
}
Ответы
Ответ 1
Ответ для большинства тегов нет. Однако вы можете утверждать, что теги типа img, которые могут быть самозакрывающимися, могут иметь в них атрибуты. Но эти самозакрывающиеся теги заменяют открывающий тег и закрывающий тег, поэтому он не совпадает с атрибутом в закрывающем теге. Честно говоря, в этом нет необходимости, это просто создало бы больше для браузера, чтобы читать и делать размер страницы больше.
Ответ 2
нет, невозможно. некоторый браузер проигнорирует его, но, возможно, некоторые другие браузеры будут жаловаться и не будут отображать HTML правильно.
Ответ 3
Короткий ответ Нет.
Используйте комментарии вместо этого.
Ответ 4
Извините, но он не работает и не проверяет.
Если вы пытаетесь использовать другие атрибуты при закрытии тегов, браузер пропускает этот атрибут. Я попробовал его несколькими способами, протестировал его с помощью ids и классов, а css и javascript не узнали их в конечном теге.
Лучше всего комментировать.
отредактированы
Или вы можете создавать свои собственные теги html.
Вы должны использовать перенос, и вам следует избегать
document.createElement('foo-bar');
Ответ 5
Оригинальный вопрос описывает конкретный сценарий из четырех частей:
улучшение читаемости html-кода, а именно: сопоставление открывающих и закрывающих тегов <div> … <\div>
;
во время чтения (отладки) отрисованного источника HTML-страницы, полученного из браузера;
когда визуализированный источник генерируется динамически (на стороне сервера, генерируется/обрабатывается), а также удаляется все комментарии перед отправкой веб-страницы запрашивающему клиенту;
и в этом случае вопрос относится к WordPress (известной платформе php CMS для создания веб-сайтов, блогов и т.д.).
Особая сложность заключается в том, что на сервере нет одного исходного файла для просмотра, поскольку веб-страница была динамически сгенерирована кодом с входными данными из многих файлов, баз данных, API и т.д.
И
Это, как отмечалось ранее, общая техника размещения комментариев в конце каждого закрытия <\div>
здесь не помогает, потому что Wordpress удалил все комментарии перед обслуживанием страницы, предположительно, чтобы уменьшить размер страницы.
Решение Javascript:
Забудьте о попытке взломать HTML, чтобы обойти WordPress, браузер и стандарты. Вместо этого просто вставьте комментарии обратно в источник, подобный этому.
При совпадении открытия <div id="myDivID">
и
закрытие тегов </div>
, этот javascript может помочь.
Эта функция будет комментировать каждый закрывающий тег div
и пометить его атрибутом divs ID, производя
такой результат:
<div id="myDivID">
<p>
Lorem ipsum dolor sit amet, consectetur
...
anim id est laborum.
</p>
</div><!-- end #myDivID -->
Это будет работать, даже если отображаемая страница
лишен комментариев (WordPress как в
Оригинальный вопрос). Просто активируйте или введите
работать в любой момент, затем просмотреть или сохранить
источник. Как уже отмечалось ранее, использование
комментарии не нарушают спецификацию как некоторые другие
предложения могут.
Эта короткая функция должна быть легкой для понимания и
модифицировать для аналогичных целей. (Обратите внимание на insertBefore
Обходной путь, поскольку нет метода JS insertAfter
.)
var d = window.document;
insertCommentAtDivCloseTag(d);
function insertCommentAtDivCloseTag(document) {
var d = document;
var divList = d.getElementsByTagName('div');
var div = {};
for (div of divList) {
var parent = div.parentNode;
var newNode = new Comment(' end #' + div.id + ' ');
parent.insertBefore(newNode, div.nextSibling);
}
}
Это быстрое и простое одноразовое решение. Если это все, что вам нужно, пропустите остальное...
Если WordPress/веб-разработка - это то, чем вы занимаетесь каждый день, возможно, вы захотите изучить некоторые из следующих действий:
Взломать WordPress
Снова забудьте о взломе стандарта HtML и взломайте WordPress вместо этого. На самом деле WordPress предназначен для взлома. Практически каждая функция, которую WordPress использует при создании веб-страницы, имеет ловушку, которую можно использовать для переопределения или изменения того, что она делает.
Кодекс, Розеттский камень WordPress
Найдите тот, который удаляет ваши комментарии, и добавьте функцию, чтобы выключать и включать его.
Если об этом уже думали, то для него уже есть плагин.
Домашняя страница плагинов WordPress
Плагины WordPress приходят и уходят, некоторые поддерживаются, другие нет, некоторые очень хороши, а некоторые плохо спроектированы, некоторые просто плохи. Поэтому будьте бдительны. С этим условием я смог найти такой плагин за десять секунд, с одним поиском, с первой попытки.
Помимо WordPress
По многим причинам выгодно обслуживать наименьшую возможную версию вашей веб-страницы, и WordPress может быть не единственным действующим лицом, динамически изменяющим ваш код или кэширующим более старые версии.
Ваша установка WordPress и запись в блоге (база данных)
↓
Тема WordPress
↓
Плагины для WordPress
↓
HTTP-сервер, такой как Apache и его модули
↓
Прокси-сервер, такой как Nginx
↓
Хостинг-провайдер
↓
CDN, Сеть доставки контента
↓
(Дополнительная сеть)
↓
Наконец мой браузер клиент
↑
Также любые кэши, поддерживаемые любым из вышеперечисленных
И наконец, если подобные вещи являются или становятся вашей работой, вы в конечном итоге захотите изучить специализированные IDE и отдельные серверы производства и разработки.
Ответ 6
Просто используйте комментарии после тега (или в этом случае, если нужно)
HTML-комментарий начинается с <!-–
и заканчивается на ––>
, т.е.
<!-- This is a comment -->
Это также может быть полезно для завершения скобок или скобок.
Ответ 7
Идентификаторы должны быть уникальными. Один идентификатор относится к одному элементу и отображается в вашем коде только один раз, вы должны использовать класс, если хотите идентифицировать несколько элементов.