วิธีแก้ปัญหาที่ดีกว่า: ใช้ native Javascript Array.from()และแปลง HTMLCollection object เป็น array หลังจากนั้นคุณสามารถใช้ฟังก์ชัน array มาตรฐานได้
var t = document.getElementById('mytab1');
if(t) {
Array.from(t.rows).forEach((tr, row_ind) => {
Array.from(tr.cells).forEach((cell, col_ind) => {
console.log('Value at row/col [' + row_ind + ',' + col_ind + '] = ' + cell.textContent);
});
});
}
คุณสามารถอ้างอิงtr.rowIndexและcell.colIndexแทนที่จะใช้row_indและcol_indและ
ผมชอบมากวิธีนี้กว่าด้านบน 2 สูงสุดลงมติคำตอบเพราะมันไม่ได้ถ่วงรหัสของคุณกับตัวแปรทั่วโลกi, j, rowและcolและดังนั้นจึงมอบสะอาดรหัสโมดูลที่จะไม่ได้มีผลข้างเคียงใด ๆ (หรือเพิ่มผ้าสำลี / คำเตือนคอมไพเลอร์) ... ไม่มีห้องสมุดอื่น (เช่น jquery)
หากคุณต้องการให้สิ่งนี้ทำงานใน Javascript เวอร์ชันเก่า (pre-ES2015) เวอร์ชันเก่าArray.fromสามารถผสมได้