我有一个包含这样代码的表:
<tr>
<th scope="row">5-17</th>
<td>23.6 (22.0-24.0)</td>
<td>18.0 (17-20.0)</td>
</tr>
<tr>
<th scope="row">Total 0-17</th>
<td>20.6 (8-15.6)</td>
<td>16.1 (22.2-24.0)</td>
</tr>
我正在使用以下函数来查找表格单元格的内容并将其放入数组中:
var l1 = $('#datatable td:nth-child(2)').map(function() {
return $(this).text();
}).get();
表格片段的id是“datatable”。
这会正确返回,但我将这个数组放入jqPlot并且它无法读取括号或括号本身之间的内容。
我需要将数据保留在表格中,因为我们同时显示表格和图表。
我无法重新格式化(在我要删除的内容周围添加跨度等),因为这些表是由另一个软件生成的。
我认为我需要做的是在空格后切片或使用正则表达式查找和删除。不知道如何处理其中任何一个。谢谢!
答案 0 :(得分:0)
您可以使用:
return $(this).text().match(/\S+/)[0];
这将只占用第一个空间的所有内容。
在正则表达式中:
\S
表示非空格字符
\S+
表示一个或多个非空白字符的序列。
正则表达式将尽可能多地使用非空白字符并返回它们。
最后需要[0]
,因为match
函数返回一个数组,在这种情况下只包含一个元素。
编辑:修复了上述代码中的错误:它缺少[0]