2013-06-12 8 views
0

Следующий HTML недопустим, и допустимой альтернативой является размещение тегов формы за пределами тегов таблицы. Мой вопрос: почему было принято решение сделать это незаконным.Почему элемент <form> не является дочерним по отношению к <tbody>?

<table> 
    <tbody> 
    <form> 
     <tr> 
     <td></td> 
     <td></td> 
     </tr> 
    </form> 
    </tbody> 
</table> 
+1

Зачем вам нужен тег формы внутри таблицы? – TGH

+4

Почему это должно быть законным? Единственной логической вещью внутри таблицы является строка или раздел таблицы. Форма не является ни тем, ни другим. – Ryan

+0

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

ответ

4

Тег tbody используется для группировки ячеек таблицы. Это не то, что должно содержать какой-либо контент, и поэтому не должно содержать формы.

http://www.w3schools.com/tags/tag_tbody.asp

  • The <tbody> tag is used to group the body content in an HTML table.
  • The <tbody> element must have one or more <tr> tags inside.

Вы можете поместить формы вокруг всего содержимого таблицы или внутри одной ячейки таблицы.

В зависимости от того, что вы делаете, вы можете рассмотреть возможность использования <div> с CSS-стилем вместо таблиц. Таблицы предназначены для представления данных (не ввода формы). В то время как div's больше предназначены для секционирования и проектирования.

+4

Еще одна ссылка w3schools * shudders *: '(Лучшей ссылкой было бы https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody – jammykam

+0

@jammykam: Когда это станет первым результатом на Google, это то, на что я нажму. И независимо от того, что такое клише, оно по-прежнему является релевантным и полезным источником информации. – teynon

+0

Я знаю, но это ссылки, подобные этим, которые делают его лучшим результатом. Вместо этого мы (коллектив) должен ссылаться на более качественные ссылки. Это второй результат в Google, вам не нужно далеко смотреть. – jammykam

0

Примечание: Этот ответ является чисто предположением.

Разрешение Non-Table элементы будут Излишне усложнять Rendering

В какой-то момент в процессе создания HTML это было, по-видимому считается необходимым образом представить табличные данные. Теперь мы хотели бы, чтобы это было чем-то простым и стандартизованным для предотвращения чрезмерно сложных алгоритмов рендеринга, которые могли бы привести к множеству ошибок. Попробуйте подумать об рендеринге таблицы с точки зрения разработчика. Насколько сложно было бы написать код, который отображает данные в любом из заданных ограничений при нормальных условиях. Добавим к этому, что возможность любого другого типа элементов смешивается с этими элементами таблицы. Это значительно усложняет процесс вычисления рендеринга.