首先,我将解释情况,然后是问题。
我正在设计一个包含一些数据的表,并开发了一些功能,用于在单击列的“ th”标签时对这些数据进行排序。
$('#table_id > thead > tr > th').click(function() ...
//ordering algorithm
GroupBy.transform
另外,我创建了2个“选择”标签来过滤表数据。我用于过滤器数据的方法是搜索与选择文本匹配的文本,并使用remove()方法删除该行。
document.getElementById("select_id").addEventListener("change", function() {
//remove rows
当数据被过滤(通过选择)并且我尝试单击列的“ th”标签时,“ click”方法不起作用,并且控制台中没有错误消息,因此我不知道解决方法。
有没有人知道页面内容更改时“点击”方法会更改其功能?
感谢您的阅读。 如果需要更多代码来理解问题,我将其粘贴。
答案 0 :(得分:1)
如果要在页面渲染后更改DOM,请尝试使用.on()
$(document).on('click', '#table_id > thead > tr > th', function() { ... });
答案 1 :(得分:0)
答案 2 :(得分:0)
如果从DOM中删除了原始th
,然后插入了新的th
,则不再为它分配click事件,因此您需要重新分配它。
另一种方法类似于尼克·苏曼尼泽(Nick Surmanidze)提出的建议。