0

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

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

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

后来呈现为:

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

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

4

1 回答 1

2

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

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

因此,只要您不访问节点的innerHTMLortextContent属性,或者在访问它们时采取适当的预防措施(即考虑到它们具有领先和尾随空格)。

于 2013-08-16T06:25:44.907 回答