0

我有一个包含 2-3 个表格的页面。在这些表中,我想更改位于其中的特定列的文本<thead>以及每行中的值<td>,并且我想id从每一行中获取。

在性能方面,最快的方法是什么?

HTML

表格布局:

<table class="ms-viewtable">
   <thead id="xxx">
      <tr class ="ms-viewheadertr">
         <th>
         <th>
   <tbody>
      <tr class="ms-itmHover..." id="2,1,0">
         <td>
         <td>
      <tr class="ms-itmHover..." id="2,2,0">
         <td>
         <td>
</table>

JavaScript

我开始的脚本:

$('.ms-listviewtable').each(function () {
   var table = $(this);

   $table.find('tr > th').each(function () {
      //Code here
   });

   $table.find('tr > td').each(function () {
      //Code here
   });

我怎样才能得到身份证?这是做我想做的更好的方法吗?

4

4 回答 4

0

您可以通过从表行“映射”到关联 ID 来获取 ID,因此:

var ids = $table.find('tbody > tr').map(function() {
    return this.id;
}).get();

.cells您可以使用表格行的属性访问单个单元格:

$table.each('tbody > tr', function() {
    var cell = this.cells[i];   // where 'i' is desired column number
    ...
});
于 2013-06-10T15:58:46.373 回答
0

遍历所有表,收集所有行并根据您的需要找到它们的标识符:

$('table.ms-viewtable').each(function(){
    $(this).find('tr').each(function(){
        var cells = $(this).children(); //all cells (ths or tds)
        if (this.parentNode.nodeName == 'THEAD') {
            cells.eq(num).html('header row '+this.parentNode.id);
        } else { // in "TBODY"
            cells.eq(num).html('body row '+this.id);
        }
    });
});

jsfiddle

于 2013-06-10T16:12:24.597 回答
0

.attr您可以通过调用"id"ie来获取元素的 id $(this).attr("id");

于 2013-06-10T15:38:43.773 回答
0

在 jquery 中,获取任何元素的最佳方法是给它一个 ID,然后引用它。

我会以另一种方式构建它——给表元素提供有意义的 ID,然后将我想要检索的信息放入它们的类属性中。

<tr id="ms-itmHover..." class="2,2,0">

然后按如下方式检索它:$('#ms-itmHover...').attr('class');

于 2013-06-10T15:41:41.843 回答