Javascript 为什么在第一个数组索引中抛出所有表元素?

Javascript 为什么在第一个数组索引中抛出所有表元素?,javascript,arrays,indexing,html-table,Javascript,Arrays,Indexing,Html Table,我使用cheel.io从表中抓取日期。页面的设置如下所示: <tr> <td>*other values*</td> <td>16-12-2017</td> <td>*other values*</td> </tr> <tr> <td>*other values*</td> <td>

我使用cheel.io从表中抓取日期。页面的设置如下所示:

 <tr>
      <td>*other values*</td>
      <td>16-12-2017</td>
      <td>*other values*</td>
    </tr>
  <tr>
      <td>*other values*</td>
      <td>14-12-2017</td>
      <td>*other values*</td>
    </tr>
  <tr>
      <td>*other values*</td>
      <td>12-12-2017</td>
      <td>*other values*</td>
    </tr>
  <tr>
      <td>*other values*</td>
      <td>12-12-2017</td>
      <td>*other values*</td>
    </tr>
所有日期都被抛出到一个数组索引中。我怎样才能在每个日期的索引中找到它

提前感谢

根据文档

获取匹配元素集中每个元素的组合文本内容 元素,包括其子元素,或设置 匹配元素

您需要使用
map
get

var date= $('tr td:nth-child(2)').map( function(){ 
   return $(this).text() 
}).get();
console.log(date);
演示

var date=$('trtd:nth child(2)').map(函数(){return$(this.text()}).get();
控制台日志(日期)

*其他价值观*
16-12-2017
*其他价值观*
*其他价值观*
14-12-2017
*其他价值观*
*其他价值观*
12-12-2017
*其他价值观*
*其他价值观*
12-12-2017
*其他价值观*
根据文档

获取匹配元素集中每个元素的组合文本内容 元素,包括其子元素,或设置 匹配元素

您需要使用
map
get

var date= $('tr td:nth-child(2)').map( function(){ 
   return $(this).text() 
}).get();
console.log(date);
演示

var date=$('trtd:nth child(2)').map(函数(){return$(this.text()}).get();
控制台日志(日期)

*其他价值观*
16-12-2017
*其他价值观*
*其他价值观*
14-12-2017
*其他价值观*
*其他价值观*
12-12-2017
*其他价值观*
*其他价值观*
12-12-2017
*其他价值观*
不要使用
.text()
,这会创建匹配元素的文本内容的单个串联字符串

而是使用
.map().toArray()
创建一个数组


当然,您不需要jQuery来完成这项工作

let date= Array.from(
   document.querySelectorAll('tr td:nth-child(2)'), el=>el.textContent
);
console.log(date);
不要使用
.text()
,这样会创建匹配元素的文本内容的单个串联字符串

而是使用
.map().toArray()
创建一个数组


当然,您不需要jQuery来完成这项工作

let date= Array.from(
   document.querySelectorAll('tr td:nth-child(2)'), el=>el.textContent
);
console.log(date);
let dates = [];
$('tr td:nth-child(2)').each(function(){ dates.push($(this).text()); });