Javascript 从表单元格中获取值并转换为数组
使用jquery,我需要从表单元格中检索数组,格式化数据并将其传递到js函数中 我使用的代码如下:Javascript 从表单元格中获取值并转换为数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,使用jquery,我需要从表单元格中检索数组,格式化数据并将其传递到js函数中 我使用的代码如下: var l1 = new Array(); $('table#datatable tbody td:first-child').each(function() { l1.push($(this).text()); }); 这是表片段 <tr> <th scope="row">Age: 0-4</th>
var l1 = new Array();
$('table#datatable tbody td:first-child').each(function() {
l1.push($(this).text());
});
这是表片段
<tr>
<th scope="row">Age: 0-4</th>
<td>0</td>
<td>9.7</td>
</tr>
<tr>
<th scope="row">5-17</th>
<td>23.6</td>
<td>18.0</td>
</tr>
<tr>
<th scope="row">Total 0-17</th>
<td>20.6</td>
<td>16.1</td>
</tr>
该表的id是datatable。我想返回第一个td的内容数组,然后将其格式化如下:
0,23.6,20.6
我对使用数组非常陌生 这应该有效:
var values = [];
$('#datatable tbody tr').each(function () {
values.push($('td:first', this).text());
});
console.log(values);
说明:
第1行:创建values变量并将其设置为空数组。
第2行:循环数据表中的每个tr。
第3行:将tr中第一个td的文本添加到values数组中。
值现在由值填充。
这应该起作用:
var values = [];
$('#datatable tbody tr').each(function () {
values.push($('td:first', this).text());
});
console.log(values);
说明:
第1行:创建values变量并将其设置为空数组。
第2行:循环数据表中的每个tr。
第3行:将tr中第一个td的文本添加到values数组中。
值现在由值填充。
您可以这样做:
var l1 = $('#datatable td:nth-child(2)').map(function() {
return $(this).text();
}).get();
//l1 = [0, 23.6, 20.6]
这用于从元素中获取数组。您的主要问题是:第一个子项必须是父项的第一个子项,这并不意味着此类型的第一个子项,因此在您的代码中只有:第一个子项。相反,您需要第二个子元素,或者:nth-child2来获取第一个元素。您可以这样做:
var l1 = $('#datatable td:nth-child(2)').map(function() {
return $(this).text();
}).get();
//l1 = [0, 23.6, 20.6]
这用于从元素中获取数组。您的主要问题是:第一个子项必须是父项的第一个子项,这并不意味着此类型的第一个子项,因此在您的代码中只有:第一个子项。相反,您需要第二个子元素,或:nth-child2来获取第一个元素。td:first-child将不匹配任何内容,因为所有元素都不是它们前面的第一个子元素。相反,使用td:nth-child2。td:first-child将不匹配任何内容,因为没有一个元素是它们前面的第一个子元素。相反,使用td:nth-child2。这将为所有td元素添加文本,而不仅仅是第一个。不,它不会-。文本将自动抓取第一个元素。这是不正确的,您的结果是:[09.7,23.618.0,20.616.1]…请参见:阅读描述。文本:获取匹配元素集中每个元素的组合文本内容,包括其子元素。这将为所有td元素添加文本,而不仅仅是第一个元素。不,不会-。文本将自动抓取第一个元素。这是不正确的,您的结果是:[09.7, 23.618.0, 20.616.1]…自己看:阅读描述。text:获取匹配元素集中每个元素的组合文本内容,包括它们的后代。DOH,我没有意识到TH是集合的一部分。这非常有效,谢谢。我正在尝试为jqPlot创建一个插件,将表转换为图表。@liz-啊,我想我认识到了这个标记,很高兴这对你有帮助。+1关于这个问题,按照它应该是的那样问:包括你尝试了什么和预期的结果,标记/代码是一个巨大的加号,使问题更容易回答,谢谢。DOH,我没有意识到TH是集合的一部分。这非常有效。谢谢。我正在尝试创建jqPlot的插件,可将表格转换为图表。@liz-啊,我想我认识到了这个标记,很高兴这对你有帮助。+1回答问题,问得一模一样:包括你尝试的内容和预期结果,标记/代码是一个巨大的优点,使问题更容易回答,谢谢。