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

В html5 для установки флажка, как отмечено, следует ли просто использовать check (как свойство) или checked = "checked" (как атрибут)?

В настоящее время в нашем плагине мы устанавливаем флажки, отмеченные параметром

<input type="checkbox" checked="checked" />

Это должно было сохранить совместимость xhtml. Я больше привык к установке, отмеченной как свойство

<input type="checkbox" checked />

Каков правильный способ работы в html5? Должен ли мы по-прежнему заботиться о совместимости xhtml?

4b9b3361

Ответ 1

Это атрибут в любом случае. И он устанавливает значение (то же значение, true) в свойстве DOM элемента node в любом случае.

Для большинства целей не имеет значения, какой синтаксис вы используете. Однако есть несколько замечаний:

  • Если вы используете HTML5 в сериализации XML ( "XHTML5" ), вы должны использовать checked="checked".
  • В стилировании синтаксисы не совсем эквивалентны при использовании селекторов атрибутов (более короткая форма не соответствует [checked=checked]), но это практически не имеет значения: [checked] соответствует установленным флажкам в обоих случаях.
  • Неуклюжий синтаксис checked="checked" является задержкой с SGML и включен только для совместимости, поэтому он может заставить ваш код выглядеть старомодным (что редко имеет значение).

Ответ 2

<!-- Default to unchecked -->
<input type="checkbox">

<!-- Default to checked, XHTML -->
<input type="checkbox" checked="checked" />

<!-- Default to checked, HTML5 -->
<input type="checkbox" checked>

Источник: http://css-tricks.com/indeterminate-checkboxes/

Ответ 3

Checked является логическим атрибутом в HTML 5. Истинное значение указывается присутствующим атрибутом, а ложное значение указывается его отсутствием. Если он присутствует, его значение должно быть пустым или иметь имя свойства checked="checked". Любая из этих форм верна:

<input type="checkbox" checked="checked" />
<input type="checkbox" checked>

http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes

Ответ 4

Вы заботитесь о совместимости XHTML в HTML5, если вы создаете документы, которые используют сериализацию HTML5 XHTML, либо исключительно путем обслуживания документа с типом mime application/xhtml+xml, либо создания документа полиглота, который может быть подан либо как application/xhtml+xml или как text/html ( "обычный" hmml-тип).

Если вы используете только text/html, вам не нужно заботиться о синтаксисе XHTML. Тем не менее, вы можете использовать самозакрывающийся синтаксис в стиле XML при встраивании SVG или MathML на свою страницу. (SVG широко поддерживается в последних браузерах, но меньше MathML.) Вы также можете использовать /> для того, чтобы покончить с недействительными HTML-элементами, такими как meta, link, input, img и т.д., Но это никак не влияет на использование > to конец этих элементов.

Небольшой комментарий к терминологии. В разметке в общем языке либо checked, либо checked="checked" является "атрибутом". "Свойство" - это нечто другое.