生成表中的链接未运行JQuery

时间:2014-05-29 05:39:03

标签: jquery

我有一个JQuery脚本,当ID为'隐藏'的链接时,该脚本会隐藏div。点击。

我使用viz语言(类似于Google Viz)生成一个表格,其中包含此ID的链接。它无法运行JQuery,尽管它执行另一个JS脚本(非JQuery)。我认为这是因为表需要一些时间来加载,但是我已经将我的JQuery设置为仅在DOM加载后运行。

任何帮助都会非常有用!

我的JQuery如下:

$(window).on('load', function(){
  $('#hide').click(function(){
    $("#splash").hide(500);
  });
});

1 个答案:

答案 0 :(得分:1)

由于您的链接是通过viz语言生成的,因此对于所有链接,取一个ID不是唯一的,但无论如何,您可以使用类而不是ID。我邀请您的链接ID将重复。

您应该在这里使用event delegation

$(document.body).on('click','#hide',function(){
    $("#splash").hide(500);
});

但是建议使用类而不是重复ID,您的代码应该是这样的:

$(document.body).on('click','.hide',function(){   // class implementation
    $("#splash").hide(500);
});
  

事件委托允许我们将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有后代触发,无论这些后代现在是存在还是将来添加。