使用jquery触发锚点在表中

时间:2011-07-07 09:49:56

标签: javascript jquery

我使用下面的代码触发表compareTable中的锚点击,但它似乎没有任何效果。 any1可以指出解决方案吗?

$('#compareTable a').click(function() {
alert("hi");
}); 

以下是demo

2 个答案:

答案 0 :(得分:3)

绑定该点击处理程序时,<a>标记不存在。您可以使用.delegate().live()(或在创建元素时绑定处理程序)来解决此问题。前者通常被认为是可取的,但我发现你标记很难,所以我将与.live()分享一个快速的解决方法。很简单:

$('#compareTable a').live('click', function() {
    alert("hi");
});

答案 1 :(得分:1)

jQuery的方法是双重的。如果用空参数调用它们(也就是说,你没有传递任何参数),那就去做它们的意思了。 $('#something').click()表示会点击它。如果你提供一个通常是回调处理程序的参数,他们只是注册该处理程序。所以,你应该使用:

 $('#copareTable a').click();

当然,由于您不想没有任何理由单击这些链接,您可能应该编写此代码以响应另一个事件。类似的东西:

 $('#register').click(function(){
      $('#compareTable a').click();
 });

并且不要忘记$('#comparetTable a')是该表中所有锚链接的集合。因此,如果您发送click指令,则会单击所有这些指示。