首页 > 解决方案 > 获取表中某一列的所有值

问题描述

我有表格和id,name,geo,age我想收集name,id and age的表格的字段,这些表格有 geo ME

   name=   ["a","b","c"]
   id= ["1","2","3"]
   age =["30","20","42"] 

$(document).ready(function(){
 /*$(#geo tbody).find('tr').each(function( index ){
   console.log($(this).find(td:1));
  }); */
  name= new Array();
  $('#geo tbody').find('tr').each(function( ) {
 // console.log($( this).find(':nth-child(3)').text());
  if ($( this).find(':nth-child(3)').text()=='ME'){
  val= $( this).find(':nth-child(2)').text() ;
   name=$( this).find(':nth-child(2)').text() ;
   }
   //console.log(name);
});
console.log(name);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="geo">
 <thead>
   <tr>
   <th>id</th>
   <th>name</th>
   <th>geo</th>
   <th>age</th>
   </tr>
 </thead>
 <tbody>
   <tr>
   <td>1</td>
   <td>a</td>
   <td>ME</td>
   <td>20</td>
   </tr>
   <tr>
   <td>2</td>
   <td>b</td>
   <td>ME</td>
   <td>30</td>
   </tr>
   <tr>
   <td>3</td>
   <td>c</td>
   <td>ME</td>
   <td>42</td>
   </tr>
   <tr>
   <td>4</td>
   <td>d</td>
   <td>USA</td>
   <td>20</td>
   </tr>
   <tr>
   <td>5</td>
   <td>e</td>
   <td>UK</td>
   <td>22</td>
   </tr>
 </tbody>
 <tfoot>
 </tfoot>
</table>

我想在数组中插入值。现在我只能得到最后一个数据。如何在每个循环中将值推送到数组中

标签: javascriptjquery

解决方案


您可以简单地使用.push将值推送到数组中。

演示代码

$(document).ready(function() {
  var age =[];
  var name = [];
  var id = [];
  $('#geo tbody').find('tr').each(function() {
    if ($(this).find(':nth-child(3)').text() == 'ME') {
      id.push($(this).find(':nth-child(1)').text());//push same
      name.push($(this).find(':nth-child(2)').text());
      age.push($(this).find(':nth-child(4)').text())
    }
  
  });
  console.log(name);
  console.log(id);
   console.log(age);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="geo">
  <thead>
    <tr>
      <th>id</th>
      <th>name</th>
      <th>geo</th>
      <th>age</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>a</td>
      <td>ME</td>
      <td>20</td>
    </tr>
    <tr>
      <td>2</td>
      <td>b</td>
      <td>ME</td>
      <td>30</td>
    </tr>
    <tr>
      <td>3</td>
      <td>c</td>
      <td>ME</td>
      <td>42</td>
    </tr>
    <tr>
      <td>4</td>
      <td>d</td>
      <td>USA</td>
      <td>20</td>
    </tr>
    <tr>
      <td>5</td>
      <td>e</td>
      <td>UK</td>
      <td>22</td>
    </tr>
  </tbody>
  <tfoot>
  </tfoot>
</table>


推荐阅读