jQuery将表行ID导入数组

时间:2018-04-06 18:23:20

标签: jquery

我有以下表格行:

<tr><td id="-8">Test A</td></tr>
<tr><td id="-10">Test B</td></tr>
<tr><td id="-3">Test A</td></tr>
<tr><td id="-5">Test A</td></tr>

如果我手动完成,我需要一个包含所有ID的数组

var data = []
data.push(-8);
data.push(-10);
data.push(-3);
data.push(-5);

有任何线索吗?

5 个答案:

答案 0 :(得分:1)

只需选择元素并获取ID

let data = Array.from(document.querySelectorAll('td')).map(({id}) => id);
console.log(data);
<table>
<tr><td id="-8">Test A</td></tr>
<tr><td id="-10">Test B</td></tr>
<tr><td id="-3">Test A</td></tr>
<tr><td id="-5">Test A</td></tr>
</table>

答案 1 :(得分:1)

&#13;
&#13;
console.log($('td[id]').get().map(function(el) { return el.id; }));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr><td id="-8">Test A</td></tr>
  <tr><td id="-10">Test B</td></tr>
  <tr><td id="-3">Test A</td></tr>
  <tr><td id="-5">Test A</td></tr>
</table>
&#13;
&#13;
&#13;

您将获得td的所有id元素:

$('tr[id]')

然后使用.get()获取实际元素的数组(而不是jQuery元素),然后.map

$('td[id]').get().map(function(el) { return el.id; });

答案 2 :(得分:0)

您可以使用map()

&#13;
&#13;
var data = $('table td').map(function() {
  return +this.id; //+ to covert to number
}).get(); //get() to convert jQuery object to plain array

console.log(data);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td id="-8">Test A</td>
  </tr>
  <tr>
    <td id="-10">Test B</td>
  </tr>
  <tr>
    <td id="-3">Test A</td>
  </tr>
  <tr>
    <td id="-5">Test A</td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

这很容易。使用$("td").each()并按id

&#13;
&#13;
var data = [];
$('table td').each(function() {
  data.push(this.id);
});
console.log(data);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td id="-8">Test A</td>
  </tr>
  <tr>
    <td id="-10">Test B</td>
  </tr>
  <tr>
    <td id="-3">Test A</td>
  </tr>
  <tr>
    <td id="-5">Test A</td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

var id_arr = [];
$("body table tr td").each(function(){
    id_arr.push($(this).attr("id"));
});