דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שאלה של מתחיל (js)

שאלה של מתחיל (js)

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 2 כותבים 112 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • גמליאלג מנותק
    גמליאלג מנותק
    גמליאל
    כתב ב נערך לאחרונה על ידי
    #1

    בפרוייקט שלי אני משתמש בפונקציות בנאי כדי ליצור כמה סוגים של אלמנטים בדף html (באמצעות innerHTML).
    בכל אחד מהבנאים אני משתמש מספר פעמים בדף.
    כיצד אני יכול לקבוע id ייחודי לכל אחד מהאלמנטים, גם עבור אלמנטים שנוצרו מאותו בנאי?

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      אתה יכול לעשות משתנה בסוג במקום במופע, למשל myClass.idCounter ולעלות את ערכו כל פעם באחד:

       el.id  = myClass.cidCounter++;
      

      אם לא אכפת לך כללי ספר תוכל גם לשים במשתנה גלובלי סתם.

      אבל בדרך כלל שמים id מתאים לסיבת יצירת האלמנט, למשל אם זה יצירה בשביל אוסף מוצרים שמים בכל אלמנט בid את שם המוצר או משהו כזה.

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      גמליאלג תגובה 1 תגובה אחרונה
      2
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        יש לציין שבד"כ אין צורך לשים id למטרות תכנות (אבל כן למטרות סגנון) כי אפשר לאגד את האירועים לאלמנט מייד אחרי יצירתו.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        תגובה 1 תגובה אחרונה
        2
        • גמליאלג מנותק
          גמליאלג מנותק
          גמליאל
          השיב לdovid ב נערך לאחרונה על ידי
          #4

          @dovid אמר בשאלה של מתחיל (js):

          אתה יכול לעשות משתנה בסוג במקום במופע, למשל myClass.idCounter ולעלות את ערכו כל פעם באחד

          אם הבנתי אותך נכון, אתה מתכוון שאפעיל מונה על כל שימוש בבנאי, ואשלב את המונה בId.
          חשבתי על זה, אבל הסתבכתי עם התחביר.
          בבנאי הוספתי:

          this.count++;
          

          אבל בפועל הוא מחזיר לי undefined.
          אשמח שתסביר לי את התחביר המדוייק.
          (הדגשתי בכותרת שאני מתחיל כדי שלא תופתעו מאי הבנות מינימליות).

          @dovid אמר בשאלה של מתחיל (js):

          יש לציין שבד"כ אין צורך לשים id למטרות תכנות (אבל כן למטרות סגנון) כי אפשר לאגד את האירועים לאלמנט מייד אחרי יצירתו.

          אשמח להסבר/לינק להסבר

          ובהזדמנות זו תודה על הפורום

          dovidD תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            השיב לגמליאל ב נערך לאחרונה על ידי dovid
            #5

            @גמליאל לא, לא בthis (כי כל פעם זה מופע חדש). אלא בשם המחלקה/הפונקציה (שזה לא פר מופע אלא גלובלי לאפליקציה).
            למשל

            elementCreator.idCounter = 0;
            function elementCreator(){ 
                ...
                el.id = elementCreator.idCounter++;
                ...
                
            }
            
            

            שים לב שאיתחלתי את המשתנה לפני הפעם הראשונה.
            בקשר לאיגוד אירועים, זה מאוד פשוט:

            el.addEventListener('click', funcName);
            

            אם אתה רוצה להעביר ארגומנטים לפונקציה תוכל להפעיל פונקציה מגשרת:

            el.addEventListener('click', function() { funcName(currData); } );
            

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            3

            בא תתחבר לדף היומי!
            • התחברות

            • אין לך חשבון עדיין? הרשמה

            • התחברו או הירשמו כדי לחפש.
            • פוסט ראשון
              פוסט אחרון
            0
            • דף הבית
            • קטגוריות
            • פוסטים אחרונים
            • משתמשים
            • חיפוש
            • חוקי הפורום