当前位置: 首页 > 知识库问答 >
问题:

如何使表中的整行可作为链接点击?

年高洁
2023-03-14

我使用的是Bootstrap,以下操作不起作用:

<tbody>
    <a href="#">
        <tr>
            <td>Blah Blah</td>
            <td>1234567</td>
            <td>£158,000</td>
        </tr>
    </a>
</tbody>

共有3个答案

龙弘盛
2023-03-14

您可以在每个中包含一个锚点,如下所示:

<tr>
  <td><a href="#">Blah Blah</a></td>
  <td><a href="#">1234567</a></td>
  <td><a href="#">more text</a></td>
</tr>

然后可以在锚点上使用display:block;使整行可单击。

tr:hover { 
   background: red; 
}
td a { 
   display: block; 
   border: 1px solid black;
   padding: 16px; 
}

这里的示例jsFiddle。

除非使用JavaScript,否则这可能是最优的。

淳于博
2023-03-14

请看下面的其他答案,特别是没有使用jQuery的答案。

但在2020年肯定是错误的做法。(甚至在2017年还不是惯用语)

您使用的是Bootstrap,这意味着您使用的是jQuery:^),因此一种方法是:

<tbody>
    <tr class='clickable-row' data-href='url://'>
        <td>Blah Blah</td> <td>1234567</td> <td>£158,000</td>
    </tr>
</tbody>


jQuery(document).ready(function($) {
    $(".clickable-row").click(function() {
        window.location = $(this).data("href");
    });
});

当然你不一定要使用href或者切换位置,你可以在click处理程序函数中做任何你喜欢的事情。阅读jQuery以及如何编写处理程序;

使用类而不是id的优点是可以将解决方案应用于多行:

<tbody>
    <tr class='clickable-row' data-href='url://link-for-first-row/'>
        <td>Blah Blah</td> <td>1234567</td> <td>£158,000</td>
    </tr>
    <tr class='clickable-row' data-href='url://some-other-link/'>
        <td>More money</td> <td>1234567</td> <td>£800,000</td>
    </tr>
</tbody>

代码库也不会改变。相同的处理程序将处理所有行。

您可以像这样使用引导jQuery回调(在document.ready回调中):

$("#container").on('click-row.bs.table', function (e, row, $element) {
    window.location = $element.data('href');
});

这样做的优点是在表排序时不会被重置(另一个选项会发生这种情况)。

由于发布了Window.Document.Location已过时(或至少已不推荐使用),请改用Window.Location

 类似资料:
  • 问题内容: 我正在使用Bootstrap,但以下操作无效: 问题答案: 作者注一: 请查看下面的其他答案,尤其是那些不使用jquery的答案。 作者注二: 保留后代,但肯定在2019年采用了 错误的 方法。(在2017年甚至很糟糕) 您正在使用Bootstrap,这意味着您正在使用jQuery:^),因此一种实现方法是: 当然,您不必使用href或切换位置,您可以在点击处理程序函数中执行任何操作。

  • 在列表中,我有一个从状态映射出来的用户表。当我单击该链接时,foo函数获取用户id并将其传递给Profile,List组件将被Profile组件替换,显示选定的用户配置文件 现在,单击中的链接显然有效,但我希望使整个行像可单击的 我尝试将onClick函数绑定到,但我不知道如何使它像那样替换要配置文件的组件 编辑:根据雅各布·斯密特的评论,我设法使用withRouter使其工作 > 我包括来自re

  • 我正在使用Vue,并且: 我如何才能使整行可点击,而不仅仅是具有路由器链接的按钮?

  • 问题内容: 我知道可以用CSS链接整个表单元格。 有没有办法将链接应用于整个表行? 问题答案: 我同意Matti的观点。使用一些简单的javascript会很容易。一个快速的jquery示例如下所示: 和 然后在您的CSS中

  • 问题内容: 我正在使用JOptionPane来显示一些产品信息,并且需要向网页添加一些链接。 我发现您可以使用包含html的JLabel,因此我提供了一个链接。该链接在对话框中显示为蓝色并带有下划线,但是不可单击。 例如,这也应该起作用: 如何在JOptionPane中获得可点击的链接? 谢谢,保罗。 编辑 -例如解决方案 问题答案: 您可以将任何组件添加到JOptionPane。 因此,添加一个

  • 我在Android上有一个,我希望任何嵌入的URL都可以点击。我使用了类,它将它们变成蓝色并加下划线。然而,我不知道如何让它们真正可以点击。 谢谢!