JavaScript与jQuery获取表格tr和td内容的三种方法详解
本文总结了在Web开发中获取HTML表格行和单元格数据的三种常见方式。涵盖原生JavaScript通过DOM节点遍历的方法,以及jQuery中利用$.each和.text()/html()获取显示值或完整HTML内容的技巧,并对比了innerHTML与text的区别,提供完整代码参考。
获取表格数据的三种方法概述
第一种方法是使用原生JavaScript。首先需要获取表格对象,接着定位到tr标签,最后遍历其中的td元素以提取数据。
// $('#selectIds').val("");
// var table = document.getElementById("tb_table");//获取第一个表格
// var array = table.getElementsByTagName("tr");//所有tr
// for(var i = 1; i < array.length; i++) {
// var id = array[i].children;
// var idtext = id[1].innerHTML;
// if(i == 1){
// $('#selectIds').val($('#selectIds').val() + "" + idtext);
// }else{
// $('#selectIds').val($('#selectIds').val() + "," + idtext);
// }
// }
第二种方法采用jQuery语法。获取到tr元素后,遍历所有的td节点。需要注意的是,这里获取单元格内容时应使用.text()方法。
// $('#selectIds').val("");
// var isFirst = true;
// $("#tb_table").find("tr").each(function(){
// var tdArr = $(this).children();
// var idtext = tdArr.eq(1).text();
// if(idtext != '人员ID'){
// if(isFirst){
// $('#selectIds').val($('#selectIds').val() + "" + idtext);
// isFirst = false
// }else{
// $('#selectIds').val($('#selectIds').val() + "," + idtext);
// }
// console.log("idtext",idtext);
// }
// })
第三种方法回归原生JavaScript,思路是先获取表格的所有行,再逐行获取每个单元格的数据。
// var table = document.getElementById("tb_table");
// var rows = table.rows;//获取所有行
// console.log("lenth",rows.length) //
// for(var i=1; i < rows.length; i++){
// var row = rows[i];//获取每一行
// var id = row.cells[1].innerHTML;//获取具体单元格
// console.log("id",id)
// }
内容获取与设置技巧
总结部分补充了关于内容获取与设置的几个关键点:
使用$(this).children().eq(1).text()可以获取单元格中显示的文本值。
使用$(this).children().eq(1).html()则能获取<td>标签内部包含的所有HTML内容。
通过$('.trSelected',grid).find("td").eq(7).text()可以获取指定选中行中特定索引的单元格文本。
若需设置值,可使用$('.trSelected',grid).find("td").eq(7).text('设置内容')。
在原生JavaScript中,xxx.innerHTML属性用于获取对象的HTML内容值。
代码实现示例
以下代码展示了如何遍历ID为grid的表格: $("#grid tr").each(function() { alert($(this).children().eq(1).text()); });
此外,还可以使用纯JavaScript来实现类似的遍历逻辑。
function load(){
var tab=document.getElementById("grid");
var rows=tab.rows;
alert(rows.length);
for(var i=0;i<rows.length;i++)
{
for(var j=0;j<rows[i].cells.length;j++)
{
alert("第"+(i+1)+"行,第"+(j+1)+"列的值是:"+rows[i].cells[j].innerHTML);
}
}
}
以上就是本文介绍的全部内容,希望这些示例能对您的学习或工作有所帮助。如有疑问,欢迎留言交流,感谢支持!
JS在setTimeout或Ajax回调中打开新标签页失败怎么处理
2026-11-05 15:50:12
JS直播协议选型:HLS、FLV与WebRTC的延迟与兼容性对比
2026-11-05 12:16:14
JS实现回到顶部:scrollTop赋值与浏览器兼容性处理
2026-11-04 23:43:35
JS使用classList动态添加、移除和切换CSS类名
2026-11-04 23:40:58
在 D3.js 中实现平滑过渡动画的技巧
2026-11-03 23:46:09
