用jQuery创建一个表行(tr)可点击(带有一个href链接,然后hover!?)

只是一个(希望)快速的问题,我有以下HTML代码:

  Bulletin 1st March 2010 (01/03/10)  

理想情况下,我想要一种方法来使用jQuery获取一个href链接并使其无论你在哪个点击特定的表行,它都会带你到那个链接。

有没有办法做到这一点? 我可以通过icky内联JavaScript作为绝对的最后手段来做到这一点,但是因为发现了jQuery我非常喜欢能够干净利落地执行此操作的想法:-)

假设它是一个“普通”链接(不是Javascript触发器),这就足够了:

 $("tr").click(function() { window.location.href = $(this).find("a").attr("href"); }); 

您可能希望以某种方式将此行为传达给用户。 最小的方法是在将鼠标hover在行上时更改光标。

我发现这个解决方案适合我。

 $('table tr').live("click",function(e){ if (e.target instanceof HTMLInputElement || e.target instanceof HTMLAnchorElement){ return; } alert('works'); }); 

如果表中有另一个链接(如删除链接),您可能希望使用事件对象来检查用户是否单击了该特定链接并避免重定向。

示例HTML:

   Delete (01/03/10)  

示例JavaScript:

 $("tr").click(function(event) { if(event.target.nodeName != "A"){ window.location.href = $(this).attr("title"); } }); 

通常我的表有一个带有编辑和删除的动作单元格,所以我使用行单击事件重定向到show动作。