获取数组中的HTML表列值

时间:2017-04-21 04:38:09

标签: jquery arrays html-table

我有这个HTML表格标记



    <table id="tblPtPrtDtl">
  <tbody><tr>
    <th>File Number</th>
    <th>Name</th>
    <th>Status</th>
  </tr>
  <tr>
  <td id="prfn"><button id='prtfilenum' type='button' ">3344</button></td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
   <td id="prfn"><button id='prtfilenum' type='button' ">4323</button></td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td id="prfn"><button id='prtfilenum' type='button' ">3466</button></td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
   <td id="prfn"><button id='prtfilenum' type='button' ">5432</button></td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
  <td id="prfn"><button id='prtfilenum' type='button' ">3455</button></td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
   <td id="prfn"><button id='prtfilenum' type='button' ">4563</button></td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</tbody></table>
&#13;
&#13;
&#13;

如何使用map函数获取数组中的列(文件编号)的值?

我尝试了以下代码,但我得到了空数组,任何想法为什么?

 var arr = [];
        $("#tblPtPrtDtl tr").each(function () {
            arr.push($(this).find($('tr:not(:first)')).text()); //put elements into array

        });

2 个答案:

答案 0 :(得分:1)

试试吧

var col_Array = $('#tableid td:nth-child(3)').map(function(){
       return $(this).text();
   }).get()​;

答案 1 :(得分:0)

var arr = $('#tblPtPrtDtl tr').find('td:first').map(function(){
 return $(this).text()
}).get()

function readval(){
alert(arr)
}
<table id="tblPtPrtDtl ">
  <tbody><tr>
    <th>File Number</th>
    <th>Name</th>
    <th>Status</th>
  </tr>
  <tr>
  <td id="prfn "><button id='prtfilenum' type='button' ">3344</button>
</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
  <td id="prfn"><button id='prtfilenum' type='button' ">4323</button></td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td id="prfn "><button id='prtfilenum' type='button' ">3466</button>
  </td>
  <td>Roland Mendel</td>
  <td>Austria</td>
</tr>
<tr>
  <td id="prfn"><button id='prtfilenum' type='button' ">5432</button></td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
  <td id="prfn "><button id='prtfilenum' type='button' ">3455</button>
  </td>
  <td>Yoshi Tannamuri</td>
  <td>Canada</td>
</tr>
<tr>
  <td id="prfn">
    <button id='prtfilenum' type='button' ">4563</button></td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</tbody></table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id='Get' type='button' onClick= "readval();return false " >Get Vals</button>
<table id="tblPtPrtDtl" >
    <tbody>
   <tr>
     <th>File Number</th>
     <th>Name</th>
    <th>Status</th>
    </tr>
  <tr>
  <td id="prfn "><button id='prtfilenum' type='button' ">3344</button>
  <td>Maria Anders</td>
<td>Germany</td>
</td>
  </tr>
  <tr>
<td id="prfn"><button id='prtfilenum' type='button' ">4323</button></td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
</tbody>
</table>

好的,我找到了获取数组中第一列值的方法

 function gettbldta() {
        var arr = [];
        $("#tblPtPrtDtl tr:not(:nth-child(1))").each(function () {
            arr.push($(this).find("td#prfn:eq(0)").text()); //put elements into array
           arr.shift
        });
        alert(arr)