我使用下面的代码触发表compareTable
中的锚点击,但它似乎没有任何效果。 any1可以指出解决方案吗?
$('#compareTable a').click(function() {
alert("hi");
});
以下是demo
答案 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指令,则会单击所有这些指示。