【发布时间】:2015-03-18 15:28:51
【问题描述】:
我有一个将数字格式化为货币的 Javascript 代码。所有的内容都在一张桌子上。目前,我在每个<tr> 中都有一个类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 并尝试遍历表中的每个单元格。但是,即使我在控制台上没有任何错误,它似乎也不起作用。
<script type="text/javascript">
$("#resultstable").bind("DOMSubtreeModified", function() {
$('#resultstable tr').each(function() {
$('td').each(function (i, cell) {
cell.innerHTML.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
});
});
});
</script>
【问题讨论】:
-
一个表没有更改事件,一个普通的 html 表不可能交互/更改内容,所以我猜你在表中使用输入元素?
-
class=money在表的<tr>上。并更改<td>的内容。我知道表格没有“更改”事件。这就是为什么我问是否有办法做这样的事情 -
但是如何更改内容?
标签: javascript jquery