将整个表行放入链接的最标准和兼容方法是什么?

Ric*_*ket 6 html javascript css html-table web-standards

显然,你不能只<tr><a>标签包围标签并在一天之内调用它; 这是无效的,甚至不起作用.我看过使用过的JavaScript,但是那些不支持JavaScript的浏览器会发生什么?将整个表格行<tr>放入链接的最佳方法是什么?

编辑:在Lerxst的请求下,这是一个包含一些行的表的示例:

<table>
    <thead>
        <tr><th>Name</th><th>Number of widgets</th></tr>
    </thead>
    <tbody>
        <tr><td>Bob Smith</td><td>Three</td></tr>
        <tr><td>Chuck Norris</td><td>Infinity+1</td></tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 4

我的偏好是将链接放在最符合逻辑的单元格中(可能是名称),然后添加一个事件处理程序,如下所示:

 tr.onclick = function (e) {
     location.href = this.getElementsByTagName('a')[0].href;
 }
Run Code Online (Sandbox Code Playgroud)

非 JS 客户端仍然可以使用常规链接。

更有效的是,将事件处理程序附加到表并使用事件对象通过单击查找元素,然后爬上父级树直到它到达一行。这可能最好通过 YUI 或 jQuery 等库来实现。