1

我有以下 HAML

.x-row-tpl
  %tds {{#parent}}{{name}}{{/parent}}
  %td {{#parent}}{{name}}{{/parent}}
  %p {{#parent}}{{name}}{{/parent}}

它被渲染成 HTML(我的意思是我在浏览器中得到的):

<div class="x-row-tpl">
  <tds>{{#parent}}{{name}}{{/parent}}</tds>
  {{#parent}}{{name}}{{/parent}}
  <p>{{#parent}}{{name}}{{/parent}}</p>
</div>

为什么 HAML<td>在渲染时跳过标签?

我什至试图将它包装成:erb,但它没有帮助。尝试了不同的标签名称,甚至是无效的标签(如<tds>),一切正常,除了<td>.

4

1 回答 1

0

您的 HTML 无效,原因如下:

  1. 您的标签名为<tds>,这是无效的。应该是<td>

  2. 标签唯一有效的<td>父元素是<tr>.

当有效标签元素位于无效位置时,浏览器可以自由移除或移动标签。当使用无效的标签名称时,浏览器可以自由地做它想做的任何事情——AFAIK 在大多数现代浏览器中它被简单地视为<div>.

Always be sure your final HTML passes the W3C's HTML Validator. If it doesn't, you'll liable to get unexpected behavior.

于 2012-06-08T13:50:37.400 回答