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

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

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

למה זה לא עובד - jQuery

מתוזמן נעוץ נעול הועבר תכנות
9 פוסטים 4 כותבים 136 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    ש.ב.ח.
    כתב ב נערך לאחרונה על ידי
    #1
    $(this).find('a:not([no-opep])').each(function () {
                    const postUrl = $(this).attr('href');
                    $(this).attr('post-url', postUrl);
                    $(this).attr('href', popupUrl);
                });
    

    כמובן שhref והpost-url אותו דבר איך מתקנים את זה?

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

      אנא עוד קצת פרטים.
      מה הקוד הזה בא לעשות? במה הוא נכשל? האם יש שגיאה?

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

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

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

        @dovid אמר בלמה זה לא עובד - jQuery:

        אנא עוד קצת פרטים.
        מה הקוד הזה בא לעשות? במה הוא נכשל? האם יש שגיאה?

        הקוד מחפש לינקים מסויימים מקבל את הhref שלהם ואמור להכיל אותם באיזה תכונה אחרת של הלינק ואילו את הhref להחליף שמשהו אחר.

        בעצם הוא מקבל כזה לינק

        <a href="old-link">click me</a>
        

        ומחליף בכזה

        <a href="new-link" post-url="old-link">click me</a>
        

        בפועל מה שקורה זה

        <a href="new-link" post-url="new-link">click me</a>
        

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

        chvC י 2 תגובות תגובה אחרונה
        0
        • chvC מנותק
          chvC מנותק
          chv
          השיב לש.ב.ח. ב נערך לאחרונה על ידי
          #4

          @ש-ב-ח popupUrl - איפה הוא??
          איפה הגדרת אותו? אתה בטוח שהוגדר טוב (כלומר הגדרת שם את מה שרצית כערך new link?)?

          בלי קשר, אנשים כאן לא נוטים להיות נביאים.. כדאי לכתוב תמיד ברור ומפורט..

          בלוג | מייל

          תגובה 1 תגובה אחרונה
          4
          • י מנותק
            י מנותק
            יוסף בן שמעון
            השיב לש.ב.ח. ב נערך לאחרונה על ידי
            #5

            @ש-ב-ח הקוד שלך כצורתו עובד כמצופה
            https://jsfiddle.net/xpzay8b7/
            תנסה לעשות שחזור של הקוד כולל ה HTML עם השגיאה

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

              @יוסף-בן-שמעון אמר בלמה זה לא עובד - jQuery:

              @ש-ב-ח הקוד שלך כצורתו עובד כמצופה
              https://jsfiddle.net/xpzay8b7/
              תנסה לעשות שחזור של הקוד כולל ה HTML עם השגיאה

              @dovid כמה אתה צודק ששחזור קוד יכול לפתור בעיות....
              אז זה הקוד שעושה את הבעיה...
              https://jsfiddle.net/3416afo9/
              והכל ברור גם למה זה קורה (הוא פשוט עובר שוב פעם על הלינק הפנימי...)

              ועכשיו נשאל את השאלה הנכונה יותר
              "איך אוכל להפעיל את האיטרציה על כל לינק לפי הparent הכי קרוב אליו ורק פעם אחת!
              ניסיתי כך השאלה אם זן הדרך הנכונה
              https://jsfiddle.net/3416afo9/1/
              אולי יש דרך ישרה יותר.

              chvC תגובה 1 תגובה אחרונה
              0
              • chvC מנותק
                chvC מנותק
                chv
                השיב לש.ב.ח. ב נערך לאחרונה על ידי
                #7

                @ש-ב-ח אם הבנתי לפחות קצת ממשמעות דבריך, אתה רוצה להריץ את השינוי הזה על הרבה לינקים, ובכל אחד מהם לקחת את הערך href ולהחיל אותו כערך של התכונה post-url (ולמחוק-לשנות על הדרך גם את href).
                אתה רוצה לעשות זאת בצורה של משתנה שלוקח את הערך שלו כל פעם על ידי סלקטור Jquery שמכוון לתכונה href.
                הבעיה שהגדרת המשתנה שלך היא const.. מה שמונע שינויים במשתנה. const, בשונה מ-var לדוגמא, יחיל ערך על המשתנה פעם אחת בלבד בתחילת הריצה, ומכאן ואילך יימנע כל שינוי שהוא.
                הקיצער תשנה מ-const ל-var.

                בלוג | מייל

                ש תגובה 1 תגובה אחרונה
                0
                • ש מנותק
                  ש מנותק
                  ש.ב.ח.
                  השיב לchv ב נערך לאחרונה על ידי
                  #8

                  @chv
                  אז שאתה לא כיוונת לאמת...
                  כי המשתנה נוצר בכל איטרציה ומושם פעם אחת בלבד.
                  המשתנה poupUrl הוא ערך של תכונת האב (הקרוב ביותר בעץ).

                  ואכן אני שומר את הhref הישן בתכונה בלינק ואז מחליף את הhref בpopupUrl

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

                    @ש-ב-ח חסר עוד מידע.
                    האם תמיד הa הוא בן ישיר של הdiv? אם ככה אפשר בfind לחפש

                    >a:not([no-opep])
                    

                    שזה מוצא רק בן ישיר (לא צאצא).
                    כמו"כ אפשר הרבה יותר פשוט - במקום לעבור על הdiv לעבור ישירות על הa ולגשת לאב ע"י parent.

                    אם ההנחה לא נכונה, והa יכול להיות צאצא של הdiv לא ישיר אז מוטב לעבור על הa ולחפש בכל אחד את הdiv הקרוב ביותר ע"י

                    var p = $(this).parents('[opep="1"]').first();
                    

                    אגב מאפיינים פרטיים ששמים בhtml לפי התקן אמורים להתחיל במילה data-. ואז במקום לפנות עם attr אפשר לפנות עם פוקנציה בשם data, למשל אם המאפיין נקרא data-no-opep אז כותבים

                    var data = $(this).data('no-opep')
                    

                    לקבוע ערך אז אותו דבר והפרמטר השני הוא הערך שרוצים לקבוע כמו בattr.

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

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

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

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

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

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