当前位置:  开发笔记 > 前端 > 正文

如何使用jQuery获取表格单元格值?

如何解决《如何使用jQuery获取表格单元格值?》经验,为你挑选了5个好方法。

我试图找出如何使用jQuery获取每行的表格单元格的值.

我的表看起来像这样:

Customer Id Result
123
456
789

我基本上想循环遍历表,并获取Customer Id每行的列值.

在下面的代码中,我已经知道我需要这样做才能让它循环遍历每一行,但我不知道如何获取行中第一个单元格的值.

$('#mytable tr').each(function() {
    var cutomerId = 
}

Jennifer.. 296

如果可以,可能值得在包含客户ID的TD上使用class属性,以便您可以编写:

$('#mytable tr').each(function() {
    var customerId = $(this).find(".customerIDCell").html();    
 });

基本上这与其他解决方案相同(可能是因为我进行了复制),但是如果你移动列,甚至将客户ID放入,只要你保留class属性.

顺便说一句,我认为你可以在一个选择器中做到这一点:

$('#mytable .customerIDCell').each(function() {
  alert($(this).html());
});

如果这让事情变得更容易



1> Jennifer..:

如果可以,可能值得在包含客户ID的TD上使用class属性,以便您可以编写:

$('#mytable tr').each(function() {
    var customerId = $(this).find(".customerIDCell").html();    
 });

基本上这与其他解决方案相同(可能是因为我进行了复制),但是如果你移动列,甚至将客户ID放入,只要你保留class属性.

顺便说一句,我认为你可以在一个选择器中做到这一点:

$('#mytable .customerIDCell').each(function() {
  alert($(this).html());
});

如果这让事情变得更容易


我会说$('#mytable td.customerIDCell').each(function(){alert($(this).html());}); 但是+1
如果您碰巧在<tfoot>中有<td>(或者正在使用<td>而不是<th>)并且不想要这些,则在tr上使用该类特别有用。

2> Andreas Grec..:
$('#mytable tr').each(function() {
    var customerId = $(this).find("td:first").html();    
});

你正在做的是迭代表中的所有trs,在循环中找到当前tr中的第一个td,并提取其内部html.

要选择特定单元格,可以使用索引引用它们:

$('#mytable tr').each(function() {
    var customerId = $(this).find("td").eq(2).html();    
});

在上面的代码中,我将检索第三行的值(索引从零开始,因此第一个单元格索引将为0)


这是你如何在没有jQuery的情况下做到这一点:

var table = document.getElementById('mytable'), 
    rows = table.getElementsByTagName('tr'),
    i, j, cells, customerId;

for (i = 0, j = rows.length; i < j; ++i) {
    cells = rows[i].getElementsByTagName('td');
    if (!cells.length) {
        continue;
    }
    customerId = cells[0].innerHTML;
}



3> Jimmy..:

一种不那么狡猾的方法:

$('#mytable tr').each(function() {
    if (!this.rowIndex) return; // skip first row
    var customerId = this.cells[0].innerHTML;
});

这显然可以改为与非第一个细胞一起工作.



4> Strelok..:
$('#mytable tr').each(function() {
  // need this to skip the first row
  if ($(this).find("td:first").length > 0) {
    var cutomerId = $(this).find("td:first").html();
  }
});



5> Nikhil Dines..:

试试这个,

$(document).ready(function(){
$(".items").delegate("tr.classname", "click", function(data){
            alert(data.target.innerHTML);//this will show the inner html
    alert($(this).find('td:eq(0)').html());//this will alert the value in the 1st column.
    });
});

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有