【问题标题】:Having trouble nesting a link within a link in HAML在 HAML 中的链接中嵌套链接时遇到问题
【发布时间】:2012-11-19 22:33:24
【问题描述】:

我在将 HAML 嵌套在另一个链接中时遇到问题。 HAML 中的缩进完全正确,但输出的 HTML 非常错误。

原始 HAML 代码:

.item
  =link_to page_path do
    .item-info
      %h3 Item name
      =link_to 'Link', different_page_path

当我在 Chrome 的检查元素中查看 HTML 时,这是我得到的:

<a href="/page"></a>
<div class="item-info">
  <a href="/page">
    <h3>Item name</h3>
  </a>
  <a href="/different_page">Link</a>
</div>

但是当我查看源代码时,它显示正确,但在查看页面时仍然混乱:

<a href="/page">
  <div class='item-info'>
    <h3>Item name</h3>
    <a href="/different_page">Link</a>
  </div>
</a>

我很茫然,任何帮助都会很棒。谢谢。

【问题讨论】:

  • 您是否要在链接中添加链接?
  • 我正在尝试使用一个更大的容器作为链接,但其中还包含一个链接,该链接将转到不同的页面。但我发现浏览器规则不允许链接嵌套在链接中。不知道为什么,但我想是这样的。
  • 那么,当您点击另一个链接中的一个链接时,您希望发生什么?
  • 它在使用基本 HTML jsfiddle.net/4gUvj 时确实有效。但它不符合 W3C 标准。

标签: html ruby haml nested


【解决方案1】:

如果你真的想要一个链接中的链接,你可以直接使用 haml 而不是 rails(或你正在使用的框架)方法 link_to:

.item
  %a{ :href => '/page' }
    .item-info
      %h3 Item name
      %a{ :href => '/different_page' } Link

link_to 正在帮助您在浏览器中做正确的事情,如上所述。意识到这不是一个haml问题而是link_to实现可能会很好。

更新:澄清 - 浏览器仍然无法很好地呈现它,但生成的标记将按照要求。

【讨论】:

  • 对不起,忘记补充这个方法也不好用。我实际上开始为容器使用 HAML。浏览器仍然呈现不正确。
  • 是的,我试图在我的回答中引用该讨论。编辑答案以使其更清晰。
猜你喜欢
  • 2017-11-17
  • 2012-09-21
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 2015-11-13
相关资源
最近更新 更多