Javascript 如何从动态创建的HTML字符串表中获取行?

Javascript 如何从动态创建的HTML字符串表中获取行?,javascript,html,Javascript,Html,我正在使用JavaScript创建一个HTML表: function CreateArray(){ var arr = []; for(var i = 0 ; i < 10; i++){ arr.push({ firstName:"John", lastName:"Doe", email:"email"+i.toString()+"@gmail.com" }); } return arr; } functio

我正在使用JavaScript创建一个HTML表:

function CreateArray(){
  var arr = [];
  for(var i = 0 ; i < 10; i++){    
    arr.push({
      firstName:"John",
      lastName:"Doe",
      email:"email"+i.toString()+"@gmail.com"
    }); 
  } 
  return arr;
}

function CreateTable(data) {   
  var tableStr = [];
  var j = -1;

  tableStr[++j] = '<table class="tftable" border="1"><thead><tr><th><input type="checkbox" id="allEmails" onclick = "SelectAllEmails()"/></th><th>First Name</th><th>Family Name</th><th>Email</th></tr></thead><tbody>';

  for (var i = 0; i < data.length; i++) {
    tableStr[++j] = '<tr><td>';
    tableStr[++j] = '<input type= "checkbox"';
    tableStr[++j] = 'id =' + "chbxEmail" + i.toString() +" "+'onclick =' + "foo(this)"+" "+'/>';
    tableStr[++j] = '</td><td>';
    tableStr[++j] =  data[i].firstName;
    tableStr[++j] = '</td><td>';
    tableStr[++j] = data[i].lastName;
    tableStr[++j] = '</td><td>';
    tableStr[++j] = data[i].email;
    tableStr[++j] = '</td></tr>';
  }
  tableStr[++j] = '</tbody></table>';
  var table = tableStr.join('');
} 
但我没有得到任何结果。即使警报框也不会显示

在没有标题行的情况下,如何获取表变量中的行

使用Javascript:

document.querySelectorAll('#table-id tr:not(:first-child)')
document.getElementById('table-id').children[1].children
另一个使用Javascript的解决方案:

document.querySelectorAll('#table-id tr:not(:first-child)')
document.getElementById('table-id').children[1].children
使用JQuery:

$('#table-id tr:not(:first-child)')

问题是,您可能没有将表插入HTMLDOM。否则它应该会起作用。您也可以考虑使用<代码> QuestS选择器函数而不是<代码> GETELMENTSYBTAGNOTMENT/<代码>,例如<代码> var行=文档.QuestS选择器('TBORT TR);<代码>

我使用insertAdjacentHTML将字符串解析为HTML DOM


在哪里调用带有警报的代码?无论如何,最好使用AngularJs或knockoutJs这样的框架,因为您的表还没有在DOM中创建。没有框架,只能逐个创建DOM元素。