如何从动态创建的 HTML 字符串表中获取行
How to get rows from HTML string table created dynamically?
我正在使用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('');
}
我需要获取 HTML 表中除标题行之外的所有行。我试过这种方式:
var trows = table.getElementsByTagName('tbody')[0].rows;
alert(trows.length);
但我没有得到任何结果。甚至不显示警报框。
如何在没有标题行的情况下获取表变量内的行?
使用 Javascript :
document.querySelectorAll('#table-id tr:not(:first-child)')
使用Javascript的另一种解决方案:
document.getElementById('table-id').children[1].children
使用 JQuery :
$('#table-id tr:not(:first-child)')
问题是,您可能没有将表插入HTML DOM。 否则它应该可以工作。您也可以考虑使用 querySelector
函数代替 getElementsByTagName
,例如 var rows = document.querySelector('tbody tr');
我使用insertAdjacentHTML将字符串解析为HTML DOM
https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML
相关文章:
- 通过字符串获取JSON对象
- 将敲除绑定应用于模板,并将结果作为字符串获取
- 使用字符串获取本地对象的属性
- 如何使用 jQuery 在标签的 for 属性中使用子字符串获取标签元素的值
- 使用 Javascript 将 Java 渲染为字符串获取最终 HTML
- 如何使用正则表达式从此字符串获取电子邮件
- 维基媒体API从JSON字符串获取相关数据
- 如何使用jQuery将HTML数据值作为字符串获取
- 带有换行符的JSP+HTML-将其作为字符串获取,并删除"新线”;
- 如何从字符串获取url-jQuery或Javascript
- QML-将JS函数的代码作为字符串获取
- cookie字符串获取并设置jquery控件的属性
- 通过字符串获取HTML元素
- 从绝对url字符串获取锚值
- 在myObj.one.two.three.field中,当字段有2个或更多嵌套级别时,通过路径字符串获取对象字段
- 从带有moment的非本地ISO8601字符串获取时间(小时,分钟)
- 使用javascript使用parseFloat和parseInt无法正常工作的字符串获取价格
- 如何从json字符串获取键值
- 使用javascript从给定字符串获取电子邮件id
- 从Json字符串获取数据到javascript (jQuery)