Jquery: 当点击tr时如何触发td a元素

3

我有一个表格,其中每个tr的第一个td包含一个链接。我希望无论我在包含tr中的哪个位置点击,都可以触发(点击)此锚点。

我已经阅读并尝试了很多关于这个主题的最新帖子和建议,但我无法使其工作。我尝试了trigger()和triggerHandle()函数,但它不会触发我想要的锚点单击。

肯定有其他人需要在单击tr时触发锚点单击,这样用户就不必单击tds上的锚链接。如果可能的话,这确实是一个很好的UI功能?

这是我尝试过的代码:

<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />  
    <script type="text/javascript" src="javascripts/jquery-1.4.2.js"></script>
    <script type="text/javascript" charset="utf-8">
        /* Initialise the table with the required column sorting data types */
        jQuery(document).ready(function () {
            jQuery("#rowClick tr").click(function (e) {
                jQuery("#clickevent", this).trigger("click");
            });
        });
    </script> 
</head> 
<body id="dt_example"> 
    <table id="rowClick">
        <thead>
            <tr>
                <th style="width: 30px">id</th>
                <th style="width: 200px">navn</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><a href="datatabletext.asp?test=1" id="clickevent">1</a></td>
                <td>Jesper</td>
            </tr>
            <tr>
                <td><a href="datatabletext.asp?test=2" id="clickevent">2</a></td>
                <td>Bjarne</td>
            </tr>
            <tr>
                <td><a href="datatabletext.asp?test=3" id="clickevent">3</a></td>
                <td>Søren</td>
            </tr>                            
        </tbody>
    </table>
</body> 
5个回答

4

在naugtur和Alessandro之后,将td更改为'class'为'clickevent':

$(document).ready(function () {
    $("#rowClick tr").click(function (e) {
        document.location.href = $(this).find(".clickevent").attr('href');
    });
});

2

由于安全原因,触发点击以重新加载页面的功能不可用。

尝试以下方法:

document.location.href=$aintd.attr('href');
$aintd是您找到的a元素。

1
        jQuery("#rowClick tr").click(function (e) {
            jQuery(this).find('td:first a').click();
        });

我应该补充一点,naugtur是正确的,这不会带你到另一个页面,但在页面上发生的任何事情都可以正常工作。

0

请尝试以下方法

 $("#rowClick tr").click(function (e) {
                $(this).find('td:first a').trigger('click');
            });

0

没错,x1a4说得对。并且从你的td中删除“clickevent”这个id;id属性必须是DOM元素的“主键”。


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