2
我有一个表格填充了来自AJAX调用的数据,并且所有这些数据(包括数字和字符串)都像往常一样插入到td和tr标记中。 我需要用逗号替换十进制数中的所有点,但我不想在每次手动调用“replacewith()”方法。 我认为是这样的:用逗号代替带有数字的表格中的逗号
$(document).ready() {
$(#"<tr>").isNumeric().replaceWith('.', ',');
}
这样,当页面被充电的jQuery自动检测数字表格单元格,并用逗号替换它们的数量。
我甚至不知道这个想法是否可能......但是,你有什么建议吗?
jQuery实际上有一个'isNumeric() - Function'。你可以在每一行的文本内容上调用它。 – OdaYukimura
但是我想避免的是这样的:把我放在每一行的上下文中......我只想写一次这个函数,并在包含表格的页面的开头调用它 – mifert
选择所有'
回答
无法自动检测元素何时添加到页面。您可以使用AJAX全局事件来检测何时进行AJAX调用并使用定时器等待处理结果,但这意味着您必须检查页面中的每个AJAX调用的所有表格单元格,延迟到细胞得到纠正,并且它仍然不能覆盖所有情况。
手动调用函数是一些额外的工作,但它是最可靠和有效的方法。
您可以使用要处理的元素调用该函数。这样你就不必浏览整个页面中的所有表格单元格。
寻找表格单元而不是表格行。您应该查看单元中的节点,而不是仅仅替换其中的任何内容,否则您将冒险搞乱实际上不是文本的代码部分。要处理嵌套元素,您可以针对非文本节点的任何节点递归调用该函数。
例子:
来源
2015-11-11 12:02:08 Guffa
试着给你的表类行为,然后使用类似这样的文件准备:
的jsfiddle这里: https://jsfiddle.net/wtzkbm7n/
来源
2015-11-11 12:06:16
这一个看起来更容易! –
我也试过这个,但它仍然不起作用。但问题可能是整个项目,它比我说的更复杂。所以,在这一点上,我会遵循Guffa的建议,并会根据需要调用函数。谢谢大家 – mifert
相关问题