IE呈现两次Rails循环 - 所有其他浏览器渲染一次

时间:2011-05-09 05:16:33

标签: ruby-on-rails ruby-on-rails-3 internet-explorer

这是一个用.html.erb编写的简单循环。

对于每个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中,但我会将其作为双框问题的下属。

1 个答案:

答案 0 :(得分:1)

尝试验证由此产生的HTML。您将div包装在link_to内,并且它本身包含链接。这是有效的HTML吗?据我所知,<a>元素不能再包含块级元素或其他<a>元素。

不确定应该如何表现。