[英]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
開始迭代是正確的。
i <= grow.length
表示為真時,進行迭代。 但是,當i == grow.length
, grow[i]
應該是undefined
,因為grow.length-1
是最后一個索引。 因此正確的條件表達式應為i < grow.length
。
您沒有在迭代中直接進行事件綁定。
試試這個:
(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.