2011-05-09 77 views
0

這是一個用.html.erb編寫的簡單循環。IE呈現兩次Rails循環 - 所有其他瀏覽器呈現一次

對於每個portfolio_item,我們在3列網格中創建一個框。請注意,<div class="portfolioOptions">已隱藏,但出現onmouseover,涵蓋<span id="title">

在IE 7,8和9中,對於每個@portfolio_item,我得到一個功能框,然後是第二個空框!。即使IE的HTML源只顯示一個框。

<div class="gridRow"> 
    <% @portfolio_items.each do |item| %> 
    <%= link_to params.except(:controller,:action).merge(:controller=>"portfolio_items", :action=>"show", :id=>item.id) do %> 
    <div class="boxHalf portfolioBox" id="<%= item.id %>"> 
     <div class="portfolioItem"> 
      <% if item.url.present? && item.url_type == "vid" %> 
       <%= item.vid_thumb.html_safe %> 
      <% else %> 
       <%= image_tag item.item.url(:medium) %> 
      <% end %> 
      <div class="text" title="<%= item.title %>"> 
       <span id="title_<%= item.id %>"><%= item.title %></span> 
       <div class="portfolioOptions" id="option_<%= item.id %>"> 
        <%= link_to 'Show', item, :class=>"blueButton" %> 
        <%= link_to 'Edit', edit_portfolio_item_path(item, :source=>"index"), :class=>"blueButton" %> 
        <%= link_to 'Delete', item, :confirm => 'Are you sure?', :method => :delete, :class=>"blueButton" %> 
       </div> 
      </div> 
     </div> 
    </div> 
    <% end %> 
    <% end %> 
</div> 

相對較小的附加問題 - portfolioOptions鼠標懸停不能在IE顯示,但我會離開,作爲一個下屬兩廂問題。

+0

您可以嘗試將示例最小化,以便更容易重現和理解? – 2011-05-09 06:31:56

回答

1

嘗試驗證來自此的HTML。您將div包裝在link_to中,並且它本身包含鏈接。那是有效的HTML嗎?據我所知,一個<a>元素不能再包含塊級別元素或其他<a>

不知道該如何表現。

+0

好點,我會檢查。 – sscirrus 2011-05-09 18:03:47

+0

我不知道IE使用什麼機制來渲染這些方塊兩次,但刪除包含「」標籤的內容足以防止這種情況再次發生。謝謝! – sscirrus 2011-05-12 06:28:36

相關問題