为什么WordPress将结束标记添加到我的<input />标记(void元素)?

时间:2015-08-06 23:33:49

标签: html wordpress

假设我在wordpress上有一个表单,在这个表单中我有三个隐藏的表单字段,如下所示...

<input name="One" type="hidden" value="1" />
<input name="Two" type="hidden" value="2" />    
<input name="Three" type="hidden" value="3" />

现在我点击了保存。当在浏览器的源代码中呈现时,我看到它们嵌套在这样......

<input name="One" type="hidden" value="1">
   <input name="Two" type="hidden" value="2">
      <input name="Three" type="hidden" value="3">
      </input name="Three" type="hidden" value="3">
   </input name="Two" type="hidden" value="2">
</input name="One" type="hidden" value="1">

此页面设置为HTML 5,具有正常的doctype,并在最新的chrome / firefox上呈现如下内容。

正如您所看到的,几乎就像wordpress没有将这些隐藏的输入元素视为独立。当我尝试用标签自己关闭它时,它仍然会像这样重写它。我从未见过这样的事情,但我确实知道wordpress在过去重写了它认为无效的代码已经取得了很多自由。

任何想法可能会在这里发生什么?

1 个答案:

答案 0 :(得分:3)

似乎WordPress将代码呈现为XHTML。因此,所有元素都需要关闭语法(包括void elements上的自动关闭语法)。

以下是可能对您有所帮助的更多信息 How do I turn off self-closing tags for markup in WordPress (for HTML5, or HTML4, for example)?