我有一个JQuery脚本,当ID为'隐藏'的链接时,该脚本会隐藏div。点击。
我使用viz语言(类似于Google Viz)生成一个表格,其中包含此ID的链接。它无法运行JQuery,尽管它执行另一个JS脚本(非JQuery)。我认为这是因为表需要一些时间来加载,但是我已经将我的JQuery设置为仅在DOM加载后运行。
任何帮助都会非常有用!
我的JQuery如下:
$(window).on('load', function(){
$('#hide').click(function(){
$("#splash").hide(500);
});
});
答案 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);
});
事件委托允许我们将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有后代触发,无论这些后代现在是存在还是将来添加。