-
@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"; } } }
-
@yossiz אמר בשאלה ב JS מוטמעת ב HTML:
נכון, שמתי לב לכל זה. רציתי לעשות כמה שפחות שינויים למבנה הקוד.
ברור, רק שיתפתי את השואל בנקודה הזו.
@אהרן אמר בשאלה ב JS מוטמעת ב HTML:
@dovid אמר בשאלה ב JS מוטמעת ב HTML:
אפשר הרבה יותר מזה
אשמח לדוגמא.
אני התכוונתי לבדוק בfind אם ריק אבל אח"כ נזכרתי בsome שעושה בדיוק את זה, הוא מחזיר חיובי מייד במקרה הראשון של הצלחה:
return [...tr.getElementsByTagName("td")].some(e => e.innerText.includes(filter));
-
@dovid אמר בשאלה ב JS מוטמעת ב HTML:
@yossiz אמר בשאלה ב JS מוטמעת ב HTML:
נכון, שמתי לב לכל זה. רציתי לעשות כמה שפחות שינויים למבנה הקוד.
ברור, רק שיתפתי את השואל בנקודה הזו.
@אהרן אמר בשאלה ב JS מוטמעת ב HTML:
@dovid אמר בשאלה ב JS מוטמעת ב HTML:
אפשר הרבה יותר מזה
אשמח לדוגמא.
אני התכוונתי לבדוק בfind אם ריק אבל אח"כ נזכרתי בsome שעושה בדיוק את זה, הוא מחזיר חיובי מייד במקרה הראשון של הצלחה:
return [...tr.getElementsByTagName("td")].some(e => e.innerText.includes(filter));
זה יותר קצר?
נראה שרק בתווים בודדים. -
@אהרן זה לא בא לקצר...
תקרא את מה שכתבתי.
אם נדקדק פה על קוצו של יוד, אז גם Array.from (שזה בעצם ה [...]) כנראה פחות יעיל מלולאה.
אבל לא נכנסתי לזה, כי קריאות דוחה ביצועים בכלל ובצד לקוח בפרט.עריכה: לחיסכון בArray.from ראה https://tchumim.com/topic/9259 .
-