2014-01-09 100 views
2

嗨,我使用下面的代碼來獲取特定列,但我想給我自己的rowIndex或初始化rowIndex = 2,3或什麼我的行號,以獲得列值如何做它越來越jQuery的單元格數據

var cellIndexMapping = { 0: true, 2: true }; 
var data = []; 

$("#MyTable tr").each(function(rowIndex) { 
    $(this).find("td").each(function(cellIndex) { 
     if (cellIndexMapping[cellIndex]) 
      data.push($(this).text()); 
    }); 
}); 

$("#Console").html(data.join("<br />")); 

回答

1

對於通過索引選擇一個元素,你可以使用.eq(index),和切片集合,你可以使用.slice(start, end)方法:

var cellIndexMapping = [0, 2]; 

var data = $("#MyTable tr").slice(2, 4).find('td').map(function(i) { 
    return $.inArray(i, cellIndexMapping) > -1 
      ? $(this).text() 
      : null; 
}).get(); 

如果你不想切片集合,可以.filter()要素:

var rowIndexes = [0, 3, 5, 1]; 

$("#MyTable tr").filter(function(i) { 
    return $.inArray(i, rowIndexes) > -1; 
}).foo(); 
+0

它可以這樣做 var rowIndex = 2; 並在我的代碼中傳遞rowIndex – ozil

+0

是的,'$(「#MyTable tr」)。eq(rowIndex).find('td').map()',我推薦使用'.filter()一個數組,它適用於一個和n個索引。 – undefined

+0

你可以發佈代碼使用eq(rowIndex)接近 – ozil