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

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

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

שאלה ב JS מוטמעת ב HTML

מתוזמן נעוץ נעול הועבר תכנות
12 פוסטים 4 כותבים 395 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי dovid
    #3

    @yossiz אמר בשאלה ב JS מוטמעת ב HTML:

    myTable7

    הקוד של @yossiz בנוי באופן שרוצים לספור גם כמה תוצאות בתוך אותה שורה (למרות שבקוד שהוצג לא נעשה שימוש בספירה הזו),
    וממילא הוא חייב לעבור על כל העמודות (אוי ואבוי 🙂 ).
    אם זה לא חשוב יש לצאת מהלולאה הפנימית במקרה של מציאה ע"י brake.
    כמו"כ לא הבנתי למה השתמשו בtextContent, למה לא רק בinnerText שיותר מתאים למטרה פה.
    שכתבתי את הקוד לספירת שורות בלבד, וגם קצת שיניתי אותו לטעמי:

     Search("myTable7", "myInput");
    
    function Search(tableId, inputId) {
        var input = document.getElementById(tableId);
        var table = document.getElementById(inputId);
    
        var filter = input.value.toUpperCase();
    
        var checkOneRow = function (tr) {
            var td = tr.getElementsByTagName("td");
    
            for (let j = 0; i < td.length; j++)
                if (td[j].innerText.toUpperCase().indexOf(filter) > -1)
                    return true;
        }
    
        var cnt = 0;
        var tr = table.getElementsByTagName("tr");
        for (i = 0; i < tr.length; i++) {
            if (checkOneRow(tr[i])) {
                cnt++;
                tr[i].style.display = "";
            } else {
                tr[i].style.display = "none";
            }
        }
    }
    

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

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

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

      @dovid אמר בשאלה ב JS מוטמעת ב HTML:

      var td = tr[i].getElementsByTagName("td");

      מה i מכיל?

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

        @אהרן צודק תיקנתי.

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

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

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

          @dovid
          אפשר גם

              var checkOneRow = (tr) => {
                  return [ ...tr.getElementsByTagName("td") ]
                          .filter(curTd => curTd.innerText.toUpperCase().indexOf(filter) > -1)
                          .length
              }
          
          dovidD תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            השיב לאהרן ב נערך לאחרונה על ידי dovid
            #7

            @אהרן אפשר הרבה יותר מזה (find וגם includes שניהם חוסכים גם ביצועים) אבל זה נראה שהלכו פה עם ES5 ומטה.
            כמו"כ כתבתי שהקוד שלי בא לחסוך מעבר מיותר על כל הtd, ואיבדת את זה.

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

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

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

              @dovid אמר בשאלה ב JS מוטמעת ב HTML:

              הקוד של @yossiz בנוי באופן שרוצים לספור גם כמה תוצאות בתוך אותה שורה (למרות שבקוד שהוצג לא נעשה שימוש בספירה הזו),

              נכון, שמתי לב לכל זה. רציתי לעשות כמה שפחות שינויים למבנה הקוד.

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

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

                @dovid אמר בשאלה ב JS מוטמעת ב HTML:

                אפשר הרבה יותר מזה

                אשמח לדוגמא.

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

                  @yossiz אמר בשאלה ב JS מוטמעת ב HTML:

                  נכון, שמתי לב לכל זה. רציתי לעשות כמה שפחות שינויים למבנה הקוד.

                  ברור, רק שיתפתי את השואל בנקודה הזו.

                  @אהרן אמר בשאלה ב JS מוטמעת ב HTML:

                  @dovid אמר בשאלה ב JS מוטמעת ב HTML:

                  אפשר הרבה יותר מזה

                  אשמח לדוגמא.

                  אני התכוונתי לבדוק בfind אם ריק אבל אח"כ נזכרתי בsome שעושה בדיוק את זה, הוא מחזיר חיובי מייד במקרה הראשון של הצלחה:

                  return [...tr.getElementsByTagName("td")].some(e => e.innerText.includes(filter));
                  

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

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

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

                    @dovid אמר בשאלה ב JS מוטמעת ב HTML:

                    @yossiz אמר בשאלה ב JS מוטמעת ב HTML:

                    נכון, שמתי לב לכל זה. רציתי לעשות כמה שפחות שינויים למבנה הקוד.

                    ברור, רק שיתפתי את השואל בנקודה הזו.

                    @אהרן אמר בשאלה ב JS מוטמעת ב HTML:

                    @dovid אמר בשאלה ב JS מוטמעת ב HTML:

                    אפשר הרבה יותר מזה

                    אשמח לדוגמא.

                    אני התכוונתי לבדוק בfind אם ריק אבל אח"כ נזכרתי בsome שעושה בדיוק את זה, הוא מחזיר חיובי מייד במקרה הראשון של הצלחה:

                    return [...tr.getElementsByTagName("td")].some(e => e.innerText.includes(filter));
                    

                    זה יותר קצר?
                    נראה שרק בתווים בודדים.

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

                      @אהרן זה לא בא לקצר...
                      תקרא את מה שכתבתי.
                      אם נדקדק פה על קוצו של יוד, אז גם Array.from (שזה בעצם ה [...]) כנראה פחות יעיל מלולאה.
                      אבל לא נכנסתי לזה, כי קריאות דוחה ביצועים בכלל ובצד לקוח בפרט.

                      עריכה: לחיסכון בArray.from ראה https://tchumim.com/topic/9259 .

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

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

                      תגובה 1 תגובה אחרונה
                      3
                      • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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