将<a>放在<tr>中更好的做法是什么

Rod*_*tti 2 html javascript accessibility list

在这两种做法之间,哪个更好?

<tr onclick="window.document.location='http://link.com';">
    <td>Lorem ipsum.</td>
    <td>Lorem ipsum.</td>
    <td>Lorem ipsum.</td>
    <td>Lorem ipsum.</td>
    <td>Lorem ipsum.</td>
    <td>Lorem ipsum.</td>
    <td>Lorem ipsum.</td>
    <td>Lorem ipsum.</td>
Run Code Online (Sandbox Code Playgroud)

要么

<tr>
    <td><a href="http://link.com">Lorem ipsum.</a></td>
    <td><a href="http://link.com">Lorem ipsum.</a></td>
    <td><a href="http://link.com">Lorem ipsum.</a></td>
    <td><a href="http://link.com">Lorem ipsum.</a></td>
    <td><a href="http://link.com">Lorem ipsum.</a></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我想只使用JavaScript.

在第一种方式中,我只重复一次链接,但我不使用a,在第二个例子中我使用了很多a并重复链接.

Ric*_*ton 5

出于多种原因我会使用HTML.

  • Separation of Concerns:创建CSS和JavaScript以将内容与表示和行为分开.
  • 出于以前的原因,不建议使用内联JavaScript.您可以创建一个script标记,然后引用外部javascript文件,您可以在其中获得代码.您应该使用创建事件侦听器addEventListener.
  • 如果必须使用onclick,只能用它来调用函数.在你的情况下,onclick="window.document.location='http://link.com';"真的很冗长,占用了大量的空间.这不是干净的HTML.这是angular和和等框架的缺点之一bootstrap.
  • 如果用户在其浏览器中禁用了JavaScript,则JavaScript代码无论如何都无法运行.但是,传统的HTML仍然会.

他们两个都完成了同样的事情,但最好的做法就在这里

<td><a href="http://link.com">Lorem ipsum.</a></td>
Run Code Online (Sandbox Code Playgroud)

请看这个问题

为什么在HTML中使用onClick()是一种不好的做法?

  • 我不相信你正在使用术语分离正确 (3认同)
  • 看起来很好地利用了"关注点分离"给我.从视图(HTML)中分离代码(javascript).在这种情况下,我们可以完全取消代码. (2认同)