我有这个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;
如何使用map函数获取数组中的列(文件编号)的值?
我尝试了以下代码,但我得到了空数组,任何想法为什么?
var arr = [];
$("#tblPtPrtDtl tr").each(function () {
arr.push($(this).find($('tr:not(:first)')).text()); //put elements into array
});
答案 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)