簡體   English   中英

排除HTMLTableRowElement中的第一個單元格

[英]Excluding first cell in HTMLTableRowElement

我對javascript很陌生,並試圖完成一個簡單的任務(對我而言卻很復雜)。 我試圖從表中排除第一行和第一列,並被困在從該表(HTMLTableRowElement)的每一行中排除第一單元格。 以下是我的示例代碼。

function clickSchedule(){
    var table
    var grow   // group row 
    table= document.getElementById("myTable");
    grow = table.rows;
    for(var i= 1; i<= grow.length ; i++ ){
         var cellIndex = this.cells; 
          for( var j =1 ; j<= cellIndex.length ; j++ ){
               this.onclick = function () {
               alert("test");
               }
         }
    }

第一個“ for循環”將從表中獲取除row [0]之外的所有行,這就是為什么看到var i = 1的原因。接下來,我將所有行中的單元格存儲到變量中,並嘗試使用以下方法排除cell [0]第二個“ for循環”,以便對所選表區域執行onclick事件。

另外,是否可以從該表中獲取所選單元格的索引值?

我非常感謝您的幫助

法拉茲·阿姆賈德(Faraz Amjad)

  1. 你的邏輯部分是對是錯。

    • 從索引1開始迭代是正確的。

    • i <= grow.length表示為真時,進行迭代。 但是,當i == grow.lengthgrow[i]應該是undefined ,因為grow.length-1是最后一個索引。 因此正確的條件表達式應為i < grow.length

  2. 您沒有在迭代中直接進行事件綁定。

    試試這個:

 (function(){ var table = document.querySelector('table') var rows = table.rows var cells for(var i = 1; i < rows.length; i++ ) { cells = rows[i].cells for(var j = 1; j < cells.length; j++ ) { cells[j].onclick = function() { alert(this.innerHTML); } } } })() 
 <table> <tr> <td>a1</td><td>a2</td><td>a3</td><td>a4</td> </tr> <tr> <td>b1</td><td>b2</td><td>b3</td><td>b4</td> </tr> <tr> <td>c1</td><td>c2</td><td>c3</td><td>c4</td> </tr> <tr> <td>d1</td><td>d2</td><td>d3</td><td>d4</td> </tr> </table> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM