鍍金池/ 問答/HTML/ js復制table最后一個tr里的值

js復制table最后一個tr里的值

function copy(){
    var tb = document.getElementById('table');
    var tr = document.querySelectorAll("#table tr:last-of-type td").value;
    alert(tr);
    var copyalbe = tr;
    var input = document.createElement("input");
    input.value = copyalbe;
    document.body.appendChild(input);
    input.select();
    document.execCommand("copy");
    input.style.display = "none";
    alert("復制成功");
  }
<table id="table" width="200" border="1" cellspacing="0">
    <tr id="cow1">
      <td>123</td>
      <td>111</td>
    </tr>
    <tr id="cow2">
      <td>123</td>
      <td>111</td>
    </tr>
    <tr id="cow3">
      <td class="copyalbe">123</td>
      <td class="copyalbe">111</td>
    </tr>
  </table>
  <input id="btn" type="button" value="復制" onclick="copy()">

我想要獲取table中最后一個tr里的兩個td的值并復制,但不知道如何獲取值,有老哥們指教下嗎?

回答
編輯回答
純妹

你的要求是?
1、獲取到 table 最后兩個 td 的值。
2、將這兩個值保存在粘貼板中,以便復制。

<table border="1">
  <tr>
    <td>123</td>
    <td>111</td>
  </tr>
  <tr>
    <td>123</td>
    <td>111</td>
  </tr>
  <tr>
    <td>222</td>
    <td>333</td>
  </tr>
</table>
<input type="button" value="復制" onclick="copy()" />

<br />
<p>點擊復制后在下邊 textarea 中 CTRL+V 看一下</p>
<textarea cols="30" rows="10"></textarea>

<script>
  function copy() {
    let values = [...document.querySelectorAll('table tr:last-child td')].map(t => t.innerHTML);
    /* 相當這樣:
    var values = [];
    var tds = document.querySelectorAll('table tr:last-child td');
    for (var i=0; i< tds.length; i++) {
      values.push(tds[i].value);
    }
    */
    let input = document.createElement('input');
    document.body.appendChild(input);
    input.value = values.join('+');
    input.focus();
    input.setSelectionRange(0, input.value.length);
    document.execCommand('copy', true);
    document.body.removeChild(input);
  }
</script>
2017年12月20日 23:23