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

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

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

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

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

      @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";
              }
          }
      }
      
      א
      א
      אהרן
      כתב ב נערך לאחרונה על ידי
      #4

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

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

      מה i מכיל?

      dovidD תגובה 1 תגובה אחרונה
      1
      • א אהרן

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

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

        מה i מכיל?

        dovidD
        dovidD
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #5

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

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        א תגובה 1 תגובה אחרונה
        1
        • dovidD dovid

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

          א
          א
          אהרן
          כתב ב נערך לאחרונה על ידי
          #6

          @dovid
          אפשר גם

              var checkOneRow = (tr) => {
                  return [ ...tr.getElementsByTagName("td") ]
                          .filter(curTd => curTd.innerText.toUpperCase().indexOf(filter) > -1)
                          .length
              }
          
          dovidD תגובה 1 תגובה אחרונה
          0
          • א אהרן

            @dovid
            אפשר גם

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

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

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            א תגובה 1 תגובה אחרונה
            1
            • dovidD dovid

              @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";
                      }
                  }
              }
              
              yossizY
              yossizY
              yossiz
              כתב ב נערך לאחרונה על ידי
              #8

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

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

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

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
              👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

              dovidD תגובה 1 תגובה אחרונה
              2
              • dovidD dovid

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

                א
                א
                אהרן
                כתב ב נערך לאחרונה על ידי
                #9

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

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

                אשמח לדוגמא.

                תגובה 1 תגובה אחרונה
                0
                • yossizY yossiz

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

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

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

                  dovidD
                  dovidD
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי
                  #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
                  • dovidD dovid

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

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

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

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

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

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

                    אשמח לדוגמא.

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

                    return [...tr.getElementsByTagName("td")].some(e => e.innerText.includes(filter));
                    
                    א
                    א
                    אהרן
                    כתב ב נערך לאחרונה על ידי
                    #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
                    • א אהרן

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

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

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

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

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

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

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

                      אשמח לדוגמא.

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

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

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

                      dovidD
                      dovidD
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי dovid
                      #12

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

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

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      תגובה 1 תגובה אחרונה
                      3

                      שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                      נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                      בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                      הרשמה התחברות
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


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

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

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