קורס Front End למתכנתים שיעור תרגול: עבודה עם DOM


זהו נושא דיון מלווה לערך המקורי שב־https://www.tocode.co.il/bundles/frontend/lessons/dom-lab

היי לגבי התרגיל הראשון הצלחתי לעשות לוח הכפל אבל נסיתי לעשות את זה בתוך אתר שבניתי סביבו
https://avivadgha.neocities.org/working%20on%20my%20js/index.html
וכשאני עושה זום-אין זום-אאוט התמונה לא תואמת לגריד. איך אני מסדר את זה?

היי לגבי התרגיל השני לא מצאתי דרך להעביר את כל המשפטים בפעם אחת לתיבת טקסט… הייתי צריך לפנות לדום כל פעם מחדש בלולאה.

הי @11111,

לגבי תרגיל לוח הכפל - ניסיתי לעשות zoom out ו zoom in ולא ראיתי בעיה. יכול לשלוח צילום מסך של הבעיה כמו שנראית אצלך?

לגבי התרגיל השני אפשר לראות את הקוד שכתבת?

היי אני אשלח לך למייל תחת הנושא " תרגול: עבודה עם DOM" את הצילומי מסך

וזה הJS שלי לתרגיל 2 סעיף 2.

const inputs = document.querySelectorAll('input');

word = prompt('Enter a word: ');

for(let i = 0; i < inputs.length; i++){

    inputs[i].value = word;

    if(i < (inputs.length - 1)){

        word = prompt('Enter a word');

    }

}

הי @11111,

לגבי התרגיל השני אין בעיה עם לולאה - זה אפילו הגיוני להשתמש בה. אני בתרגיל לא התכוונתי שתפעיל prompt אלא פשוט שתכתוב באמצעות קוד JavaScript טקסט שקבעת מראש לכל התיבות. אני חושב שהלולאה שלך טובה ועושה את העבודה.

לייק 1

ex2
פתרתי את התרגיל בדרך אחרת
מענין אותי להבין מדוע הדרך הזו לא עובדת
המשתנה input הוא input

הי

יכול לשים פה קישור לכל הקבצים שלך? או ליצור codepen עם הפיתרון שלך ולהדביק לכאן את הקישור אליו


?

    const table=document.querySelector('table')

    const frag=document.createDocumentFragment()

    const frag2=document.createDocumentFragment()

    for(let i=1;i<=10;i++){

    const tr=document.createElement('tr')

    if(i==3){

        tr.classList.add('yellow')

    }

    for(let j=1;j<=10;j++){

    const td=document.createElement('td')

    td.textContent=j*i

    tr.appendChild(td)

    }

    frag.appendChild(tr);

    }

    table.appendChild(frag)

טקסט מעוצב
זו הדרך? או שיש דרך אחרת להוסיף את העמודות?

היה לי טעות בשורה של התנאי 
if(i===3||j===3){

    td.classList.add('yellow')

}

זאת בדיוק הדרך - רק אפשר לוותר על המשתנה המיותר frag2

כן בטעות שכחתי למחוק אותו
תודה רבה!

לייק 1

לא מבינה למה לא עובד לי התרגיל השני בחלק הראשון
מצרפת את הקוד

הי

בשביל לעדכן טקסט של אלמנט input יש לעדכן את מאפיין value שלו, כלומר:

element.value = text;

בנוסף אני ממליץ להשתמש כאן ב querySelectorAll כדי לתפוס את כל ה input-ים:

var inputs = document.querySelectorAll('input');

ואז לרוץ בלולאה על inputs במקום על div.children