当表更改内容时调用Javascript函数

我有一个Javascript代码,它将数字格式化为货币。 所有内容都在桌面上。 目前,我在每个

都有一个class级money ,我在细胞改变时调用该函数。 仅供参考,所有细胞在表格中同时变化。

 var spans = document.getElementsByClassName("money"); for (var i = 0; i < spans.length; i++) { var newText = spans[i].innerHTML.replace(/\B(?=(\d{3})+(?!\d))/g, ","); spans[i].innerHTML = newText; } 

有没有办法,而不是在每个单元格上都有相同的类,并在所有单元格上捕获一个事件,在桌面上执行并获得相同的结果? 例如,

 $("#mytable").on('change', function() { // put my function here and apply to every cell }); 

更新 :我添加了DOMSubtreeModified并尝试遍历表中的每个单元格。 但是,即使我在控制台上没有任何错误,它似乎也不起作用。

  $("#resultstable").bind("DOMSubtreeModified", function() { $('#resultstable tr').each(function() { $('td').each(function (i, cell) { cell.innerHTML.replace(/\B(?=(\d{3})+(?!\d))/g, ","); }); }); });  

尝试使用DOMSubtreeModified ,

 $("#mytable").bind("DOMSubtreeModified", function() { alert("Hurrey table changed"); }); 

阅读Dom-event-javascript文章

 $(function(){ $('button').on('click',function(){ $('#mytable').append('Next '+($('#mytable tr').length+1)+''); }); $("#mytable").bind("DOMSubtreeModified", function() { alert("Hurrey table changed"); }); }); 
  
Next 1

您可以使用setInterval()来监视表。

 setInterval(function() { check(); }, 1000); //Call check() function every 1s. 

在check()中你会有一些比较的逻辑。

 $(function() { $(".money").each(function(indexOfElement, elementValue) { for (var i = 0; i < elementValue.length; i++) { var newText = elementValue[i].innerHTML.replace(/\B(?=(\d{3})+(?!\d))/g, ","); $(elementValue).html(newText); } }) }); 

上面的代码迭代每个具有“money”类的元素,并用货币文本替换文本。 页面准备好后脚本将运行