Intereting Posts
Почему разработчик помещает переднюю косую черту в начале каждого относительного пути? Как GitHub изменяет URL без перезагрузки страницы? Установите div на оставшуюся высоту с помощью CSS с неизвестными высотами div сверху и снизу Как добавить линию тренда к высоким графикам Как центрировать три Div внутри другого Div CSS – Маржинальное столкновение между двумя DIVs Основной HTML – как установить относительный путь к текущей папке? Как передать данные между страницами в PHP? Извлечение данных между двумя тегами в файле HTML Цепочки вызовов методов не работают на оригинальном и клонированном элементе, почему? Элементы Flex, не соответствующие полям и размеру коробки: рамка JQuery не вызывает функцию при нажатии динамически добавленной кнопки Javascript обнаруживает собственный браузер Android Чтение загруженного содержимого текстового файла в html показать html-код внутри windows, например, yahoo html messages

Закрытие тега HTML

Интересно, почему tags HTML не получают закрывающий тег, как другие tags HTML, и что будет не так, если мы закрываем тег ввода?

Я попробовал Google, и я нашел стандарт для записи тега ввода, такого как не закрывая его с помощью .

Я лично почувствовал эту проблему, когда создал тэг ввода для кнопок Radio используя

 var DOM_tag = document.createElement("input"); 

Это, хотя и созданный переключатель, но TextNode я TextNode к переключателю с

 document.createTextNode("Radio Label"); 

не работает. Он просто показывает радиокнопку без Radio Label как в этом случае. Хотя я вижу полный код:

 Radio Label 

Может ли кто-нибудь объяснить, пожалуйста?

PS
Основная проблема, которая возникла у меня, это автоматическое закрытие входного тега, как я упоминал в вопросе, поскольку я использую var DOM_tag = document.createElement("input"); который автоматически создает закрывающий тег. Что мне делать с этим?

Solutions Collecting From Web of "Закрытие тега HTML"

Это недействительные элементы. Это означает, что они не предназначены для размещения текста или других элементов, и как таковые не нужны – и на самом деле не могут иметь – закрывающий тег в HTML. 1

Однако они могут иметь связанный с ними :

   

Радио-кнопки по своей природе не могут содержать текст в любом случае, поэтому для них не будет смысла принимать текст или другие элементы в качестве контента. Другая проблема с элементом управления, который принимает текст как входной: должен ли его текстовый контент быть его значением или его меткой? Чтобы избежать двусмысленности, мы имеем элемент который делает именно то, что он говорит на олове, и у нас есть атрибут value для обозначения значения входного элемента управления.


1 XHTML отличается; по правилам XML, каждый тег должен быть открыт и закрыт; это делается с помощью синтаксиса ярлыка вместо , хотя последнее одинаково приемлемо:

   

Происхождение находится в концепции пустых элементов в SGML, и идея заключалась в том, что некоторые элементы действуют как заполнители содержимого, которые будут вставлены из внешнего источника или из среды. Вот почему img и input , например, были объявлены пустыми в HTML или, точнее, с объявленным содержимым EMPTY (т. Е. Ни один контент не может быть противоположен элементам, которые просто случайно имеют пустой контент). Более подробное объяснение см. На моей странице. Пустые элементы в SGML, HTML, XML и XHTML .

Подразумевается, что начальный тег для такого элемента также является закрывающим тегом. Ожидается, что программное обеспечение, которое обрабатывает документы SGML или HMTL, будет знать из определения типа документа (DTD), у те тегов это свойство. На практике такая информация встроена в веб-браузеры. Использование конечного тега, такого как , неверно, но браузеры просто пропускают нераспознанный или ложный конец тега.

В XML, следовательно, в XHTML, все по-другому, потому что XML является сильно упрощенным вариантом SGML, предназначенным для упрощения обработки. Программное обеспечение, обрабатывающее XML, должно иметь возможность выполнять весь синтаксический анализ без какого-либо DTD, поэтому XML требует закрытия тегов для всех элементов, хотя вы можете (и, для совместимости, в большинстве случаев) использовать специальный синтаксис, например как сокращение для . Но XHTML по-прежнему не поддерживает контент между тегами.

Таким образом, вы не можете указывать метку для элемента ввода внутри самого элемента, так как он не может иметь никакого содержимого. Вы можете использовать атрибуты title , value или (в HTML5), чтобы связывать тексты с ним в разных смыслах, но чтобы иметь нормальное видимое содержимое в качестве метки, оно должно быть в другом элементе. Как описано в других ответах, рекомендуется поместить его в элемент label и определить связь с id и атрибутами.

– пустой тег, поскольку он не предназначен для содержимого или закрывающего тега. Для соответствия вы можете обозначить конец тега, используя его следующим образом:

  

который является XHTML-совместимым способом закрытия тега, у которого нет содержимого. То же самое относится к тегу .

Чтобы пометить радиокнопку, вам, вероятно, лучше всего использовать как описывает ответ BoltClock.

Вы можете использовать

 var label = document.createTextNode("Radio Label"); DOM_tag.parentElement.insertBefore(label,DOM_tag); 

чтобы поместить метку рядом с переключателем.

Использование комбинации createElement / createTextNode работает лучше всего.

 $('#list-consultant').append( $(document.createElement('div')).addClass('checkbox').append( $(document.createElement('label')).append( $(document.createElement('input')).prop({ type: 'checkbox', checked: 'checked' }), $(document.createTextNode('Ron Jeremy')) ) ) ); 

Вышеприведенный fragment даст:

 

Можешь попробовать:

 var label = document.createTextNode("Radio Label"); document.createElement("input").prop({type="text"}); document.write(input.append(label)); 

может работать, возможно, нет. (Это не сработало для меня, но я не могу понять, ПОЧЕМУ нет .. Я думал, что так будет.) Если это помогает, отлично. (Я все еще изучаю Javascript.)

В противном случае придерживайтесь стандартного ответа на использование:

   

Это то, что я обычно делал бы. Ура!