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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 2 כותבים 114 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • גמליאלג מנותק
    גמליאלג מנותק
    גמליאל
    כתב ב נערך לאחרונה על ידי
    #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
        • dovidD dovid

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

           el.id  = myClass.cidCounter++;
          

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

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

          גמליאלג מנותק
          גמליאלג מנותק
          גמליאל
          כתב ב נערך לאחרונה על ידי
          #4

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

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

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

          this.count++;
          

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

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

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

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

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

          dovidD תגובה 1 תגובה אחרונה
          0
          • גמליאלג גמליאל

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

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

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

            this.count++;
            

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

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

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

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

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

            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
            • דף הבית
            • קטגוריות
            • פוסטים אחרונים
            • משתמשים
            • חיפוש
            • חוקי הפורום