我有以下内容:
<td> some text <div>a div</div> </td>
我想使整个<td>...</td>超链接。我希望不使用JavaScript。这可能吗?
<td>...</td>
是的,这是可能的,尽管不是字面上的<td>,而是其中的内容。一个简单的技巧是,确保内容扩展到单元格的边界(尽管它本身不包括边界)。
<td>
如前所述,这在语义上是不正确的。一个a元素是内嵌元件,并且不应该被用作块级元素。但是,这是一个适用于大多数浏览器的示例(但JavaScript加td:hoverCSS样式会更整洁):
a
<td> <a href="http://example.com"> <div style="height:100%;width:100%"> hello world </div> </a> </td>
PS:实际上,a使用CSS来更改块级元素是更明智的选择,如该线程的另一种解决方案所述。虽然它在IE6中不能很好地工作,但这不是什么新闻;
如果您的世界只是InternetExplorer(如今很少见),则您可以违反HTML标准并编写此代码,它可以按预期工作,但是会倍受皱眉并被认为是不明智的(您从未从我这里听到过此消息)。除IE以外的任何其他浏览器都不会呈现该链接,但会正确显示该表。
<table> <tr> <a href="http://example.com"><td width="200">hello world</td></a> </tr> </table>