从表JS中的输入中获取元素id

时间:2017-02-16 18:34:13

标签: javascript arrays html-table

我想获得ID(我不知道它是否是字符串或元素)。我的HTML代码和Javascript看起来像这样:



var table = document.getElementById('workerTimes');
var emptyArray = new Array(100);

for (var r = 1, n = table.rows.length; r < n; r++) {
  var element = table.rows[r].cells[0].innerHTML;
  emptyArray.push(element.id);

  console.log(element);
}
&#13;
<table class="table" id="workerTimes">
  <tbody>
    <tr>
      <th></th>
      <th>Osoba</th>
      <th>Rozpoczął pracę punktualnie</th>
      <th>Zakończył pracę punktualnie</th>
    </tr>
    <tr>
      <td><input type="checkbox" id="50"></td>
      <td>Jan</td>
      <td>
        <button type="button" class="button_positive" onclick="tickClick(50, 0, 0)">✓</button>
        <button type="button" class="button_negative" onclick="tickClick(50, 0, 1)">X</button>
      </td>
      <td>
        <button type="button" class="button_positive" onclick="tickClick(50, 1, 0)">✓</button>
        <button type="button" class="button_negative" onclick="tickClick(50, 1, 1)">X</button>
      </td>
    </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;

控制台日志显示

  

&LT;输入类型=&#34;复选框&#34; ID =#&34; 50&#34; &GT;

但我无法获取此元素的ID并推送到数组。怎么做?

2 个答案:

答案 0 :(得分:1)

我假设第一列你的意思是第一行。您可以使用 getElementByTagName(&#34; TH&#34;)[0] .innerText获取该元素内的值。 可用于获取元素的另一个函数是getElementByClassName()。你可以传递参数&#34; *&#34;进入后两个函数以获取所有元素,然后使用索引访问您感兴趣的那个。

答案 1 :(得分:1)

您使用的是 element.innerHTML ,但这只是文字。 您希望使用 element.children 或潜在的 element.childNodes ,以便使用结果来获取正确的ID。

&#13;
&#13;
var table = document.getElementById('workerTimes');

var emptyArray = new Array(100);

for (var r = 1, n = table.rows.length; r < n; r++) {
  var element = table.rows[r].cells[0].children[0];
  emptyArray.push(element.id);

  console.log(element);
  console.log(element.id);
}
&#13;
<table class="table" id="workerTimes">
  <tbody>
    <tr>
      <th></th>
      <th>Osoba</th>
      <th>Rozpoczął pracę punktualnie</th>
      <th>Zakończył pracę punktualnie</th>
    </tr>
    <tr>
      <td><input type="checkbox" id="50"></td>
      <td>Jan</td>
      <td>
        <button type="button" class="button_positive" onclick="tickClick(50, 0, 0)">✓</button>
        <button type="button" class="button_negative" onclick="tickClick(50, 0, 1)">X</button>
      </td>
      <td>
        <button type="button" class="button_positive" onclick="tickClick(50, 1, 0)">✓</button>
        <button type="button" class="button_negative" onclick="tickClick(50, 1, 1)">X</button>
      </td>
    </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;