Hari ini saya mengalami masalah dalam melakukan sesuatu. Saya mencoba menambahkan beberapa baris data secara dinamis ke tabel dan pertama -tama mendefinisikan tabel:
123456 | <able> <Thead> </head> <tbody id = fileList> </tbody> </boable> |
Kemudian di JavaScript:
12345 | untuk (var i di entri) {... var filetable = document.geteLementById ('fileList'); filetable.innerHtml += '<tr> <td> 111 </td> <td> 222 </td> </tr>';} |
Tidak ada masalah di Firefox, tetapi tidak mungkin meletakkannya di bawah IE. Saya bertanya kepada rekan-rekan saya + mencari dan menemukan bahwa atribut innerHTML dari elemen-elemen ini hanya baca dan tidak dapat dioperasikan langsung di bawah IE. Tapi tidak ada solusi. InnerHTML TD masih dapat dioperasikan. Kode di atas dapat dimodifikasi seperti ini:
123456789101112 | untuk (var i di entri) {... var filetable = document.geteLementById ('fileList'); var tr = document.createElement ('tr'); var td1 = document.createElement ('td'); td1.innerhtml = '111'; var td2 = document.createElement ('td'); td2.innerhtml = '222'; Tr.AppendChild (TD1); Tr.AppendChild (TD2); filetable.appendChild (tr);} |
Anda pertama -tama dapat menggunakan metode createelement DOM untuk membuat TR dan TD, kemudian melakukan operasi yang sesuai pada bagian dalam TD, dan akhirnya menggunakan metode endapan untuk menambahkan elemen yang dibuat ke pohon DOM. Dengan cara ini dapat berjalan secara normal di bawah IE. Perlu dicatat bahwa jika meja Anda tidak memiliki tbody, ia melakukan ini:
1 | <Table ID = FileList> </able> |
Pada saat ini, Anda tidak dapat menggunakan metode AppendChild secara langsung di atas tabel, karena elemen tabel di bawah IE6 tidak mendukung metode AppendChild (IE8 tampaknya sudah mendukungnya).
Beberapa orang di Internet juga mengusulkan untuk menggunakan InserTrow () dan metode lain untuk melakukannya, tetapi metode ini memiliki masalah dengan kompatibilitas dengan browser yang berbeda (InserTrow (-1) diperlukan di Firefox), jadi tidak berguna.
BTW, meskipun saya telah membaca banyak informasi JS secara sadar sebelumnya, saya masih menyadari kebenaran. Sekarang saya baru saja mulai sibuk dan saya tenang dalam studi saya