为了代码可读性,我曾经以多行方式在OPTION
模板中编写HTML
标记:
(这是一个假设的Web框架语法,所以它并不重要,只是为了说明编码风格的原因。问题是关于渲染的HTML
语法的有效性。)
<option %attributes%>
<%optionName%>
</option>
后来呈现为:
<option value="1">
Text 1
</option>
所以,实际问题(关于这最后一个片段):在文档中有这样的HTML
<option>
代码是否可以?或者它会有潜在的障碍?
答案 0 :(得分:2)
option
元素可以包含任何文本作为其内容,因此构造有效。是否正常取决于您对OK的定义以及您在页面上的操作。
当option
内容中有前导或尾随空格(如换行符和空格)时,它们会包含在元素节点的innerHTML
和textContent
属性中,但不会(根据HTML5 drafts和现代浏览器实践)不要进入text
属性。隐含的想法似乎是前导或尾随空格不会影响渲染,但似乎没有任何明确的声明。
因此,只要您不访问节点的innerHTML
或textContent
属性,或者在访问时采取适当的预防措施,它在实践中似乎相当安全(尽管可能不是理论上的)他们(也就是说,考虑到他们有前导和尾随空格)。
答案 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)