JQuery - 点击表格行除了最后一个单元格可点击

16

我正在尝试使用jQuery使表格行可点击并重定向到隐藏在第一个单元格中的URL。 表格的最后一列中有一张图片,应该重定向到不同的URL。

下面是jQuery代码。

$(function () {
    $('#link-table td:first-child').hide();

    $('#link-table tr').hover(function () {
        $(this).toggleClass('highlight');
    });

    $('#link-table tr').click(function () {
        location.href = $(this).find('td a').attr('href');
    });
});

点击行可以工作,但点击最后一个单元格中的图像超链接会重定向到与点击该行相同的URL,这不是我想要的。

我尝试使用以下代码处理点击事件

$('#link-table tr td:not(:last-child))').click(function () {
        location.href = $(this).find('td a').attr('href');
    });

点击最后一个单元格中的图像超链接有效,但现在点击行将重定向到附加到最后一个单元格中图像超链接的URL。

我该如何设置才能实现点击行重定向到一个URL,同时点击最后一个单元格中的超链接重定向到另一个URL呢?

2个回答

25
$('#link-table tr td:not(:last-child)').click(function () {
        location.href = $(this).find('td a').attr('href');
    });

你的 $(this)'#link-table tr td:not(:last-child))',你可以使用 var tr = $(this).closest('tr'); 找到相应的 tr,然后可以使用 var tr 做任何你想做的事情。

接着找到 'td a' 等等。


这是正确的解决方案。我认为里面有一个额外的括号,它有点搞砸了事情。相反,它应该是:$('#link-table tr td:not(:last-child)').click - Tom

0

你可能需要返回:

$('#link-table tr').last().click(function () {
  return false;
});

你正在选择最后一行。他想要除了行中的最后一个td以外的所有行。 - Frenchi In LA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接