במקרים מסויימים אנו רוצים ליצור טבלה בצורה דינאמית, בהתאם לתנאים כשלהם, במקום לכתוב את קוד ה-HTML של הטבלה בצורה סטטית בדף. זאת אנחנו יכולים לעשות ע"י סקריפט צד-לקוח שייצור את הטבלה ויציג אותה בדף. לדוגמא, בלחיצה על הכפתור הבא, תופיע בדף טבלה של 6X9:
השיטות העיקריות שישמשו אותנו:
getElementById - מקבלת מחרוזת שמקבלת ID של אלמנט מסויים בדף, ומחזירה לנו רפרנס לאותו אלמנט.
createElement - מקבלת שם של אלמנט (לדוגמא: TD), יוצרת אותו ומחזירה לנו רפרנס אליו (אך לא מציגה אותו בדף)
appendChild - מקבלת רפרנס לאלמנט, ומצרפת אותו לאלמנט ממנו נקראה השיטה (לדוגמא, אלמנט מסוג TD, תמיד יצורף לאלמנט מסוג TR)
אז נתחיל עם הקוד...
קודם כל, נגדיר את הפונקציה שלנו. היא תקבל כפרמטרים את מספר השורות שיהיו בטבלה, ואת מספר העמודות בכל שורה:
1
function fCreateTable(nRows, nCols)
שנית, ניצור ונאתחל את המשתנים שלנו:
1 2 3
var oDiv = document.getElementById("oDiv"), oTable = document.createElement("TABLE"), oTBody = document.createElement("TBODY"),oTD
oDiv - יכיל את ה-DIV שבתוכו תופיע הטבלה
oTable - הטבלה עצמה
oTBody - גוף הטבלה
oTD, oTR - השורות והעמודות
נריץ לולאה שתרוץ מספר פעמים כמספר השורות שאנחנו רוצים בטבלה, ובכל איטרציה שלה ניצור שורה אחת:
תגובות בפייסבוק