Jquery选择器超过动态元素

时间:2016-03-24 15:43:18

标签: javascript jquery ajax dynamic

我认为这是一个众所周知的问题,但我无法找到满足我的答案。我有一个加载脚本的页面 A

ExtractArchive

此代码使每个表格成为" sorteable" by header(使用Tablesorter插件)。现在我的页面有一个链接,当按下时,调用页面 B 并通过Ajax插入内容(实际上它们是许多可以加载页面的链接 B C 等)。当然,页面 B 中的表格不受前面代码的影响,因为它们之后会被加载。如何以可扩展的方式使代码与动态创建的元素一起使用?

我检查了不同的问题(thisthisthisthis),但似乎没有人会寻找我的潜在解决方案。我知道jQuery.getScript('js/jquery.tablesorter.min.js', function (data, status, jqxhr) { $('table').tablesorter(); }); ,但我不是想在这里附上一个事件。我还可以在每个可以由Ajax加载的页面上添加额外的代码,但它容易出错(我可能忘记将脚本包含在某些页面中)并且看起来不是很可扩展也不优雅。我也有点关注性能并创建了很多on()个监听器(不确定我是否应该这样)。

Jquery如何解决这个问题?有解决方案吗?

1 个答案:

答案 0 :(得分:1)

$.get('/getnewitem.aspx', function(data){
     // add to table.
     $('table').tablesorter();   // run the sorter again after adding.
});