簡體   English   中英

怎么獲得<td>通過<tr> id Javascript

[英]How to get <td> through <tr> id Javascript

我一直在嘗試通過 tr id 獲取 td 值。 我知道的通常方法是使用

document.getelementById("tableID").rows[0].cells.item(2).innerHTML;
但問題是我的表是動態的,所以表行通過添加和刪除不斷變化。 為了克服這個問題,我決定通過 random() 生成 id。 所以任何人都知道使用 JS 獲得特定值的更好方法。

 function add(){ var tbl = document.getElementById("tableID"); var TrId = Math.floor((Math.random() * 10000) + 1); var tableTR = document.createElement('tr'); tableTR.id = TrId; tbl.appendChild(tableTR); for(let i = 0; i < 3; i++){ switch (i){ case 0: var newelement = document.createElement('td'); var newbtn = document.createElement('input'); newbtn.type = "button"; newbtn.value = "Remove"; newbtn.id = Math.floor((Math.random() * 10000) + 1); newbtn.onclick = function() {deletedRow(this)}; tableTR.appendChild(newelement); newelement.appendChild(newbtn); break; case 1: var n = document.getElementById('nme').value; var newelement = document.createElement('td'); newelement.innerHTML = n; tableTR.appendchild(newelement); break; case 2: var n = document.getElementById('snme').value; var newelement = document.createElement('td'); newelement.innerHTML = n; tableTR.appendchild(newelement); break; } } } function deletedRow(btn){ var row = btn.parentNode.parentNode; row.parentNode.removeChild(row); document.getElementById('here').innerText = "get surname" }
 <html> <head> </head> <body> <label>Name<input id="nme" value="" style="width: 40%;"></label> <label>surname<input id="snme" value="" style="width: 40%;"></label> <br><br> <input type="button" id="click" onclick="add();" value="Add"/> <table id="tableID"> <tr> <td></td> <td>Name</td> <td>Age</td> </tr> </table> <p id="here"></p> //I want the surname to be placed here upon deleting a row </body> </html>

不要介意它不起作用。 我只是希望這能讓你了解我真正在做什么。

通過使用 parentNode 通過按鈕獲取 tr 的 ID,我們可以通過使用 rows.length 輕松創建一個 for 循環。 添加一個 if 語句,檢查長度中的當前行 id 是否等於已知 tr id 的行 id。 從今以后,因為我們已經到達了循環中所需的行並且我們已經在 if 語句中,所以不妨使用已知的方法: document.getElementById("printTable").rows[i].cells.item(2).innerHTML;

function deletedRow(btn){
var l;
var TrId = btn.parentNode.parentNode.id;
var rws = document.getElementById("tableID").rows;

for( var i = 0; i<rws.length ; i++){    

    if(rws[i].id == TrId){

        l = document.getElementById("printTable").rows[i].cells.item(2).innerHTML;
        document.getElementById('here').innerText= l;
    }
    
}} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM