首页 > 解决方案 > 如何使用javascript从一列中获取内容

问题描述

我试图只从一列中获取内容。但它抓住了这一列以及行内容的其余部分并显示它。我怎样才能只抓住年龄列?

document.getElementById('info').innerHTML = "";
var myTab = document.getElementById('empTable');

// LOOP THROUGH EACH ROW OF THE TABLE AFTER HEADER.
for (i = 1; i < myTab.rows.length; i++) {

  // GET THE CELLS COLLECTION OF THE CURRENT ROW.
  var objCells = myTab.rows.item(i).cells;

  // LOOP THROUGH EACH CELL OF THE CURENT ROW TO READ CELL VALUES.
  for (var j = 2; j < objCells.length; j++) {
    info.innerHTML = info.innerHTML + ' ' + objCells.item(j).innerHTML;
  }

  info.innerHTML = info.innerHTML + ',';

}
th,
td,
p,
input {
  font: 14px Verdana;
}

table,
th,
td {
  border: solid 1px #DDD;
  border-collapse: collapse;
  padding: 2px 3px;
  text-align: center;
}

th {
  font-weight: bold;
}
<head>
  <title>Read Data from HTML Table uisng JavaScript</title>
</head>

<body>
  <table id="empTable">
    <tr>
      <th>ID</th>
      <th>Employee Name</th>
      <th>Age</th>
      <th>Color</th>
    </tr>
    <tr>
      <td>01</td>
      <td>Alpha</td>
      <td>37</td>
      <td>Blue</td>
    </tr>
    <tr>
      <td>02</td>
      <td>Bravo</td>
      <td>29</td>
      <td>Red</td>
    </tr>
  </table>

  <p id="info"></p>

结果:

37 Blue, 29 Red,

期望的结果:

37, 29

非常感谢任何帮助和解释!

谢谢,

狐狸

标签: javascripthtml

解决方案


您在返回 objCells[2] (37)和 objCells[3] (蓝色)的索引 2 之后遍历 objCells 的所有元素

像这样访问 objCells[2]

for (var j = 2; j < objCells.length; j++) {
   info.innerHTML = info.innerHTML + ' ' + objCells.item(j).innerHTML;
}

应该

info.innerHTML = info.innerHTML + ' ' + objCells.item(2).innerHTML;

推荐阅读