行中的链接无法在Chrome或Firefox中使用

时间:2011-03-31 02:33:14

标签: css google-chrome firefox hyperlink html-table

我有一个asp.net应用程序,它从数据库中提取数据并将其放入表中。我设置它,以便用户单击链接工作的行中的任何位置。基本上代码是这样的:

          <a href="showthisjob.aspx<tr>
          <td align="left">stuff</td>
          <td align="left">stuff</td>
          <td align="left">stuff</td>
         </tr></a>

这在IE中运行良好,但在Chrome和Firefox中,链接不起作用。有人可以告诉我为什么吗?我的学生需要为网页设计比赛解决这个问题。

2 个答案:

答案 0 :(得分:1)

根据HTML标准,<tr>不是<a>标记的有效子元素,<a>标记只能包含其他内嵌元素(例如<span> 1}},但不包括其他<a>标记)和/或文字。 IE基本上只是更宽容,并遵循它认为你想要做的事情而不是你真正应该做的事情。您可以尝试查看其他浏览器实际允许您填充<a>内部的内容并进行操作,但如果这是针对网页设计竞赛,我不会推荐它。

要在遵循标准的同时获得类似功能,您可能需要使用onClick事件和嵌套表,或者更好地使用<div>,如果您能够负担学习曲线,因为这是竞赛。如果没有,比如:

<table>
<tr>
    <td onClick="location.href='showthisjob.aspx'">
        <table>
            <tr>
                <td align="left">stuff</td>
                <td align="left">stuff</td>
                <td align="left">stuff</td>
            </tr>
        </table>
    </td>
</tr>
....
</table>

答案 1 :(得分:0)

嗯,首先,我希望这个拼写错误不在您的实际代码中:您错过了>代码的结束<a>

<a href="showthisjob.aspx><tr>
   <td align="left">stuff</td>
   <td align="left">stuff</td>
   <td align="left">stuff</td>
</tr></a>

但实际上你无法将这样的表链接起来。我想这与浏览器有关,而IE在HTML标准方面通常与其他浏览器的工作方式不同。我认为你不能在<tr>上嵌套<a>,而是告诉微软......

我建议将<a>放在每个<td>内。