HTML SELECT OPTION语法的有效性

时间:2013-08-15 10:34:24

标签: html coding-style html-select

为了代码可读性,我曾经以多行方式在OPTION模板中编写HTML标记:

(这是一个假设的Web框架语法,所以它并不重要,只是为了说明编码风格的原因。问题是关于渲染的HTML语法的有效性。)

<option %attributes%>
  <%optionName%>
</option>

后来呈现为:

<option value="1">
  Text 1
</option>

所以,实际问题(关于这最后一个片段):在文档中有这样的HTML <option>代码是否可以?或者它会有潜在的障碍?

2 个答案:

答案 0 :(得分:2)

option元素可以包含任何文本作为其内容,因此构造有效。是否正常取决于您对OK的定义以及您在页面上的操作。

option内容中有前导或尾随空格(如换行符和空格)时,它们会包含在元素节点的innerHTMLtextContent属性中,但不会(根据HTML5 drafts和现代浏览器实践)不要进入text属性。隐含的想法似乎是前导或尾随空格不会影响渲染,但似乎没有任何明确的声明。

因此,只要您不访问节点的innerHTMLtextContent属性,或者在访问时采取适当的预防措施,它在实践中似乎相当安全(尽管可能不是理论上的)他们(也就是说,考虑到他们有前导和尾随空格)。

答案 1 :(得分:-1)

这是滥用选项元素。

如果您尝试将输出格式化为列表,那么有几个html元素已经执行此操作,即

ul / li(http://www.w3schools.com/tags/tag_ul.asp)或

ol / li(http://www.w3schools.com/tags/tag_ol.asp)然后有

dl / dd / dt(http://www.w3schools.com/tags/tag_dd.asp