Javascript 如何检索元素

Javascript 如何检索元素,javascript,html,function,html-table,Javascript,Html,Function,Html Table,这就是我想知道的。我有一个表,它的行数取决于微调器中的行数。这是可行的,例如,如果我在微调器中输入25,它将显示25行,如果我在微调器中输入7,它将显示7行 所以我的问题是: 假设一个表中有许多行。我有一个文本区,用户在其中输入问题,然后提交问题,问题应插入并显示在表格的第一行“问题”列下,文本区变为空白,用户输入第二个问题,如果用户提交,则问题将显示在第二行,第三个问题进入第三排,第四个问题进入第四排等 问题是每次我向表中提交问题时,都会创建一个新行。因此,如果我在表格中有20个空行,因为我在

这就是我想知道的。我有一个表,它的行数取决于微调器中的行数。这是可行的,例如,如果我在微调器中输入25,它将显示25行,如果我在微调器中输入7,它将显示7行

所以我的问题是:

假设一个表中有许多行。我有一个文本区,用户在其中输入问题,然后提交问题,问题应插入并显示在表格的第一行“问题”列下,文本区变为空白,用户输入第二个问题,如果用户提交,则问题将显示在第二行,第三个问题进入第三排,第四个问题进入第四排等

问题是每次我向表中提交问题时,都会创建一个新行。因此,如果我在表格中有20个空行,因为我在微调器中声明我想要20个问题,那么每次我提交问题时,它都会添加一个新行,因此从文本区域提交20个问题意味着表格将包含20个空行和20个带问题的行。我猜是因为这个,例如:

var enumeratorCell = document.createElement("td");
所以我想知道的是,除了创建一个元素来创建一个新行外,我如何检索一个元素,以便它从上到下提交现有行中的问题,而不是每次提交问题时都创建一个新行

Below is my code:

function insertQuestion() {   
var table = document.getElementById("qandatbl");
var tableBody = table.tBodies[0];
var textarea = document.getElementById("questionTxt");

var row = document.createElement("tr");
tableBody.appendChild(row);

var enumeratorCell = document.createElement("td");
enumeratorCell.className = "qid";
row.appendChild(enumeratorCell);

var questionCell = document.createElement("td");
questionCell.className = "question";
row.appendChild(questionCell);

var questionText = textarea.value;
var questionContent = document.createTextNode(questionText);
questionCell.appendChild(questionContent);

            }
HTML:

//将在其中插入问题的表
//这将从微调器获取问题的数量
//文本区域和提交按钮,用于提交问题

我想你可能想做这样的事情:

var table = document.getElementById(tableId); 
var rows = table.getElementsByTagName("tr");  
for(i = 0; i < rows.length; i++){           
    //manipulate rows  
}
var table=document.getElementById(tableId);
var rows=table.getElementsByTagName(“tr”);
对于(i=0;i
给定现有表格:

<table id="myTable">
   <tr>
      <td>1</td>
      <td>2</td>
   </tr>
   <tr>
      <td>3</td>
      <td>4</td>
   </tr>
</table>

马尔科姆,请你重新措辞一下你的问题好吗。很难理解您想要实现什么。HTML中的一点点PHP代码与这个问题有什么关系?“每次我将数据提交到一个表中,它都会创建一个新行”-当你说“提交”时,你的意思是你在页面上有一个现有的HTML表,你想用一些新内容或其他内容替换一个或多个TD元素的内容吗?也许你可以显示你想要的HTML的前后状态?我想说的是有一个空白表,下表是一个文本区和一个提交按钮,老师输入一个问题,当老师提交问题时,它进入表中的第一行,因为这是第一个问题,然后老师重复,第二个问题进入第二行,依此类推。但不是将数据插入表中已有的行中,而是创建新行并将数据插入新行。你能帮我一个大忙吗?你能为我现有的表编码吗?这是因为我查看了你现有的表和代码,我完全搞糊涂了。我不知道什么是“新价值”或什么是r、j和c。如果你能为我这样做,我会非常感激。我的答案中的代码就是一个例子。“newvalue”只是一个字符串的示例,可以将它分配给td元素的内部html——由您来替换自己有意义的值。r、 j和c都只是我声明的变量。我使用r在外循环中引用当前行,使用c在内循环中引用当前单元格(td元素)。您需要非常仔细地阅读我的示例(和/或谷歌一些JavaScript教程),直到您理解它。我的示例很简短,所以在您理解它之前,您不会理解您自己的代码。。。
<table id="myTable">
   <tr>
      <td>1</td>
      <td>2</td>
   </tr>
   <tr>
      <td>3</td>
      <td>4</td>
   </tr>
</table>
// get reference to the table
var t = document.getElementById("myTable"),
    r,
    c,
    i, j;

// loop through the rows
for (i=0; i<t.rows.length; i++) {
   // get reference to current row
   r = t.rows[i]; //
   // loop through tds of current row
   for (j=0; j<r.cells.length; j++) {
       // get reference to current cell
       c = r.cells[j]; // equivalent to t.rows[i].cells[j]
      // display content of cell
      alert(c.innerHTML);
      // change content of cell
      c.innerHTML = "New value " + i + j;
    }
}
var particularTD = t.rows[2].cells[1]; // where t was declared above
alert(particularTD.innerHTML);