2017-10-12 82 views
0

我正试图针对给定表的点击事件上的特定列。我很难指定我对每一行的选择,或理想情况下,选择特定索引的整个td元素列。我到目前为止:使用JavaScript来定位表中的第n列或每个表行的第n个单元格

sorter(d, i) { 

     console.log(i); 
     let n = i; 
     let table = document.querySelector('tbody'); 
     let rows = table.querySelectorAll('tr'); 
     //let length = this.tableElements.length; 

     let td = rows.cells[n]; 

     console.log(td); 

    } 

如果我使用:let td = rows [0] .cells [n]; 我按照预期从第一行的特定单元索引中得到所需的选择。我如何用这个指定每一行?我想用这个选择来排序表。

谢谢!

回答

1

可以遍历rows和返回值

let tds = Array.from(rows, row => row.cells[n]); 
+0

完美谢谢你的阵! – jrogers12

+0

根据“i”是什么,你可以使用'let tds = table.querySelectorAll(“tr td:nth-​​child(”+ i + 1 +“)”)'作为':nth-​​child()伪类是基于1的。 – guest271314

0
sorter(d, i) { 

      console.log(i); 
      let n = i; 
      let table = document.querySelector('tbody'); 
      let rows = table.querySelectorAll('tr'); 
      //let length = this.tableElements.length; 
var td; 
     for(l=0;l<length;l++){ 
      td = rows[l].cells[n]; 

      console.log(td); 
    } 
     } 
相关问题