【问题标题】:Links in Rows not working in Chrome or Firefox行中的链接在 Chrome 或 Firefox 中不起作用
【发布时间】:2011-07-26 13:39:06
【问题描述】:

我有一个 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 中该链接不起作用。有人能告诉我为什么吗?我的学生需要为网页设计比赛解决此问题。

【问题讨论】:

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


【解决方案1】:

根据 HTML 标准,&lt;tr&gt; 不是 &lt;a&gt; 标记的有效子元素,&lt;a&gt; 标记只能包含其他内联元素(例如 &lt;span&gt;,但不包括另一个 @ 987654325@ 标签)和/或文本。 IE 基本上只是更宽容,并遵循它认为你正在尝试做的事情,而不是你真正应该被允许做的事情。您可以尝试看看其他浏览器实际上允许您在 &lt;a&gt; 中填充什么内容并工作,但如果这是为了网页设计比赛,我不会推荐它。

要在遵循标准的同时获得类似的功能,您可能需要使用 onClick 事件和嵌套表格,或者如果您负担得起学习曲线,最好使用&lt;div&gt;,因为这是为了比赛。如果没有,类似:

<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>

【讨论】:

    【解决方案2】:

    首先,我希望这个错字不在您的实际代码中:您错过了 &lt;a&gt; 标记的结束 &gt;

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

    但确实不能像那样链接表格。我想这与浏览器有关,事实上 IE 通常在 HTML 标准方面与其他浏览器不同。我不认为你可以将&lt;tr&gt; 嵌套在&lt;a&gt; 上,但是告诉微软...

    我建议将&lt;a&gt; 放在每个&lt;td&gt; 中。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签