【问题标题】:Element ID gets erased after being appended to a table元素 ID 在附加到表后被删除
【发布时间】:2022-11-17 09:44:44
【问题描述】:
  var row = document.createElement("tr");
  let ex = document.createElement("td");
  ex.className = "clickable";
  ex.id = "exampleid";
 / * Outputs normally here * /
  row.appendChild(ex);
  table.appendChild(row);
  console.log(table.rows[0].id);
 / * Outputs "" instead of "exampleid" * /

当尝试访问表中的元素时,我分配的 ID 变为空字符串。如何保留分配的 ID?对于上下文,我使用 for 循环来生成一个元素数组。

试过console.log(table.rows[0].id),得到“”

【问题讨论】:

  • 它是您尝试控制日志的行,但您将 id 分配给列(td)而不是(tr)

标签: javascript html


【解决方案1】:

分配的 id 在 td 元素上而不是 tr 元素上。

您需要访问 tr 的孩子,然后该 ID 才可用。

var table = document.createElement("table");

var row = document.createElement("tr");
  let ex = document.createElement("td");
  ex.className = "clickable";
  ex.id = "exampleid";

  row.appendChild(ex);
  table.appendChild(row);
  console.log(table.rows[0].id); // this is the id for first row
  
console.log(table.rows[0].children[0].id); // this is the id for td element inside tr
  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    相关资源
    最近更新 更多