Подтвердить что ты не робот

HTML - Почему атрибуты boolean не имеют логического значения?

Я заметил, что некоторые элементы имеют атрибуты, которые являются логическими. Интересно, почему значения не верны или ложны? или 1 и 0? Есть ли причина, почему они такие?

<option selected="selected">Ham Burger</option>

или

<input type="button" disabled="disabled" />

Спасибо заранее!

4b9b3361

Ответ 1

В SGML атрибут может быть сведен к минимуму, поэтому только его значение является коротким как для имени, так и для значения, при этом единственным возможным значением для атрибута в этом случае является, соответственно, собственное имя атрибута. HTML использует это для логических атрибутов, где наличие или отсутствие атрибута является значимым, а его значение не имеет значения. Но в XML минимизированные атрибуты были запрещены, поэтому мы оказались с неловкостью selected="selected", когда XHTML вошел в моду. Если вы пишете HTML, а не XHTML, вы можете просто написать selected.

Ответ 2

точное определение:

Некоторые атрибуты играют роль логических переменных (например, выбранных атрибут для элемента OPTION). Их внешний вид в стартовом теге элемента означает, что значение атрибута "истинно". Их Отсутствие подразумевает значение "false".

также:

Логические атрибуты могут юридически принимать одно значение: имя самого атрибута [...] В HTML, в свернутом виде отображаются логические атрибуты могут

>

В принципе, это означает, что существует только два возможных состояния для логических атрибутов: true и false, но статус не установлен.

Ответ 3

Для отключенного атрибута я считаю наличие атрибута, который отключает элемент независимо от его значения.

Угадайте, одна из причин может заключаться в том, чтобы позволить больше значений, чем просто да/нет в будущем. Например, вместо visible = true/false вы можете иметь видимость = visible/hidden/collapsed

Ответ 4

стандарт HTML (не XHTML) должен быть просто выбран вместо выбранного = "selected"

Смотрите здесь: http://www.w3.org/TR/html4/interact/forms.html#adef-selected

Когда XHTML был создан, чтобы обеспечить лучшую интеграцию с XML в HTML, (см. http://www.w3.org/MarkUp/2004/xhtml-faq#need), части, которые не соответствуют исправлены требования к HTML-структуре HTML. Таким образом, формулировки, подобные выбранным, трансформировались в selected = "selected", чтобы соответствовать стандартным

Ответ 5

Считываемость, многие HTML не кодируются людьми с фоном компьютерных наук, поэтому понятие "булевское" было бы чуждо им в этих терминах. Также он улучшает читаемость для Computer Science и других технических пользователей, предоставляя усиленные подсказки относительно функции данного заявления.

Ответ 6

Как сказал vc74, не имеет значения, какое значение у вас есть для выбранного или отключенного.

<option selected="selected">Ham Burger</option>

будет делать то же самое, что и

<option selected="sjkhdaskj">Ham Burger</option>

Ответ 7

Я думаю, это просто для удобства для пользователя, чтобы указать значение атрибута в большинстве читаемых человеком формах, если он/она не знает, что истинно/ложно

<html>
<body>
<select>
<option>1</option>
<option selected="blah">2</option>
<option >3</option>
</select>
</body>

вы видите в приведенном выше коде, я не использовал selected=selected, я использовал то, что я хочу, чтобы он по-прежнему выбирал значение параметра, или просто можно использовать <option selected>2<option>.