0

更新:针对此问题的 JS Fiddle:http: //jsfiddle.net/Ey4aH/2/,在 IE 中运行它并查看问题。

我正在使用下面的代码,它是一组菜单的一部分。

<div class="profile-menu">
              <ul>
                <li><a class="current" href="javascript:void('0');">
                  <table width="153" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                      <td width="22"><img src="images/about-icon.png" width="16" height="16" /></td>
                      <td width="135">About</td>
                    </tr>
                </table>
                  </a> </li>
                <li><a href="/friend/viewfriends/<%=temp.getString("user_id")%>">
                  <div><table width="153" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                      <td width="22"><img src="images/friends-icon.png" width="16" height="16" /></td>
                      <td width="135">Friends</td>
                    </tr>
                </table></div>
                </a>
                </li></ul></div>

这适用于其他浏览器,但在 IE 中,当我尝试单击好友文本链接时,它不起作用。但是当我点击图标时,它工作正常。谁能帮我找出问题所在。

4

2 回答 2

1

最好不要在<a>tag 中使用 table。
但在每个元素<a>内使用标签。<td>

于 2012-11-20T11:01:09.383 回答
1

当表格仅用于显示表格数据时,看起来好像您正在使用表格来显示内容。

“A”标签不能包含表格或其他块级元素,并且可以在所有浏览器中正常运行。

最好的解决方案是在不使用表格的情况下重新创建您的设计。

或者,您可以通过使用 javascript 在桌子上启用点击来实现您想要做的事情。

HTML5 允许将块级元素包装在“a”标签中:

http://davidwalsh.name/html5-elements-links

于 2012-11-20T11:04:25.977 回答