PracticU

jQuery

בלי כתוביותעם כתוביות
PracticU › קורס Javascript כולל JQuery › jQuery
מילון מושגים:
jQuery - ספריית JavaScript ותיקה שמפשטת את הגישה לרכיבי הדף, אירועים ואנימציות בדפדפן.
CSS - שפת עיצוב שקובעת את המראה של דפי אינטרנט: צבעים, גופנים, מיקום וסידור הרכיבים.
DOM - ייצוג עץ של מבנה דף HTML בזיכרון, שמאפשר לקוד לקרוא ולשנות את תוכן הדף ומבנהו.
סלקטור - ביטוי, בעיקר ב-CSS, שבוחר אילו רכיבים בדף יושפעו מכלל עיצוב או פעולה.
גופן - העיצוב הגרפי של האותיות והתווים המוצגים בטקסט, הכולל צורה, סגנון וגודל.
AJAX - טכניקה שמאפשרת לדף אינטרנט לשלוח ולקבל נתונים מהשרת ברקע ולעדכן את התצוגה בלי לטעון מחדש.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.
POST - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או לעדכן משאב, למשל שליחת טופס.

jQuery

בשיעור זה אנו נכנסים לנושא jQuery, ספרייה חינמית שעוטפת פונקציות של ג'אווה סקריפט. אנו לומדים להוריד ולשלב את הספרייה, לבחור אלמנטים בסלקטורים של CSS, להכיר את הפונקציות המרכזיות, לעבוד עם ה-DOM, לבצע אפקטים ואנימציות, להירשם ולהתנתק מאירועים, לשלב אג'אקס, להשתמש בתוספים ובספריית jQuery UI, ובונים בדרך תפריט אקורדיון, קרוסלת תמונות ולוח שנה.
נושאי הסיכום המוצגים בשיעור:
1. מהו jQuery: jQuery היא ספרייה חינמית שעוטפת פונקציות של ג'אווה סקריפט ומאפשרת להשתמש בפונקציות שבה במקום לכתוב ג'אווה סקריפט בעצמנו, כך שדברים שהיו מורכבים מאוד בג'אווה סקריפט טהורה מתבצעים בפונקציות פשוטות.
2. הורדת הספרייה: מורידים את הספרייה מהאתר jquery.com על ידי לחצן download. קיימים שני קבצים: קובץ production ששוקל רק 32 קילו ומתאים להעלאה לאתר שבאוויר כי הוא קל, ואותו קובץ כ-development ששוקל 252 קילו כי הוא מכיל המון תיעוד ורווחים בין שורות. הגרסה בדוגמה היא 1.8.0 והקובץ הוא min.js, קובץ ג'אווה סקריפט רגיל.
3. שילוב הספרייה בדף: משלבים את הקובץ בדף בתגית script עם language ו-type ו-src שמתחבר לקובץ, ופותחים סקריפט נוסף עבור כתיבת הפקודות שלנו שמשתמשות בספרייה. כדי לעבוד עם jQuery צריך להכיר HTML, CSS וג'אווה סקריפט.
4. בחירת אלמנטים בסלקטורים של CSS: הדבר הראשון ב-jQuery הוא בחירת התגיות שעליהן עובדים, ולשם כך משתמשים בסלקטורים של CSS. כותבים jQuery ובסוגריים במחרוזת את הסלקטור, למשל div שהוא element name selector, ואז קוראים לפונקציה html שכותבת בתוך כל הדיבים שנבחרו את המידע הרצוי, וכל ששת הדיבים מקבלים את המילה Hello.
5. סימן הדולר: במקום לרשום את כל המילה jQuery אפשר פשוט לרשום דולר, שמפנה אוטומטית למרחב השמות של jQuery ונותן בדיוק את אותה תוצאה.
6. סלקטורים מיוחדים: ב-jQuery יש סלקטורים נוספים כמו div:first שפועל רק על הדיב הראשון, div:last על האחרון, div:even על הזוגיים כאשר הראשון הוא 0, ו-div:odd על האי-זוגיים.
7. כל סלקטורי ה-CSS: כל סלקטור שקיים ב-CSS אפשר להשתמש בו, כמו class selector של נקודה ושם הקלאס שפועל רק על התגיות עם אותה קלאס. קיימים גם element name, class, id, attribute ו-pseudo selectors.
8. סלקטורים ייחודיים ל-jQuery: יש סלקטורים שלא קיימים ב-CSS, כמו div:not(.coolDiv) שפועל על כל הדיבים שאין להם את הקלאס, div:first-child שמתייחס לתגית שהיא עצמה ילד ראשון של אלמנט כלשהו, div:last-child, ו-div:nth-child(n) שבו ההתחלה תמיד מ-1 ובוחר את התגית ה-n במספר.
9. הפונקציה size: אחרי שבחרנו תגיות אפשר לקרוא לפונקציות של jQuery עליהן. הפונקציה size מחזירה כמה פריטים נבחרו, למשל שיש שישה divs בעמוד.
10. הפונקציה each: הפונקציה each מריצה פעולה על כל התגיות שנבחרו, וכמקובל נותנים לה פונקציית inline ללא שם. היא שולחת לפונקציה את האינדקס, ובתוך הפונקציה מגיעים לתגית הספציפית שהיא כרגע סורקת בעזרת this, למשל this.innerHTML, ומכניסים לה טקסט שכולל את מספר האינדקס, והריצה מתחילה מ-0.
11. הפונקציה attr: הפונקציה attr, קיצור של attribute, מחזירה ערך של אטריביוט מסוים, ויותר הגיוני להריץ אותה על תגית אחת ויחידה שנבחרה לפי ה-id שלה עם סולמית. על ידי העמסה נוספת היא גם משנה ערכי אטריביוט: הערך הראשון הוא שם האטריביוט והשני הערך החדש, למשל שינוי dir מ-ltr ל-rtl משנה פיזית את כיוון התוכן משמאל לימין.
12. addClass ו-removeClass: אפשר להוסיף עיצובי CSS בצורה דינמית. הפונקציה addClass מקבלת את שם הקלאס בלי נקודה ומוסיפה אותו לתגיות שנבחרו, כך שהרקע הופך לאדום, והפונקציה removeClass מסירה את הקלאס באותה צורה.
13. text מול html: הפונקציה text מכניסה את המידע לתוך התגיות כמו שהוא, כולל תגיות שכתבנו בתוכה שמוצגות כטקסט גלוי, ואילו הפונקציה html מתייחסת לטקסט כאילו הוא HTML אמיתי, והתגיות מבוצעות ולא מוצגות. הפונקציה html מקבילה ל-innerHTML והפונקציה text מקבילה ל-innerText.
14. append ו-prepend: הפונקציה append מוסיפה מידע אחרי הטקסט הקיים בתוך התגית והפונקציה prepend מוסיפה לפניו.
15. הפונקציה css: הפונקציה css מקבלת שני ערכים, שם מאפיין CSS וערך, ומעצבת בהתאם את התגיות שנבחרו, למשל border עם 4px dotted green. אפשרות נוספת היא להגדיר מספר ערכים בבת אחת על ידי אובייקט JSON, שנקרא גם אובייקט map, שבו כל מאפיין נקודותיים והערך שלו, כמו border, font-size, color ו-text-decoration, והכל מוחל בבת אחת.
16. עבודה עם ה-DOM: בג'אווה סקריפט היה קשה לעבוד עם עץ האובייקטים, ו-jQuery חושפת פונקציות רבות לכך. הפונקציה parent מחזירה את התגית האב של התגית שנבחרה, כך שבחירת הדיב ואז parent והוספת קלאס מצביעה את ה-body כולו. הפונקציה children מחזירה את כל הילדים של התגית שנבחרה, ואם מגדירים בתוכה סלקטור נוסף כמו span רק חלק מהילדים מקבלים את הפעולה.
17. siblings, prev ו-next: הפונקציה siblings מחזירה את האחים של התגית שנבחרה, כלומר התגיות שבאותה רמה, ואפשר לסנן אותם לפי סלקטור כמו div, והתגית עצמה אינה נכללת כי היא אינה אח של עצמה. הפונקציות prev ו-next מחזירות את התגית שנמצאת לפני או אחרי התגית שנבחרה, ואפשר לסנן גם אותן לפי סוג התגית.
18. appendTo, prependTo, insertAfter ו-insertBefore: ארבע פונקציות שהופכות את סדר הקריאה: קודם נותנים את התגית שרוצים להוסיף לעץ ה-DOM ואז את הסלקטור. appendTo מוסיף את התגית כילד אחרון בתוך כל תגית שנבחרה, prependTo מוסיף כילד ראשון, ו-insertAfter ו-insertBefore מוסיפים את התגית אחרי או לפני התגיות שנבחרו כאחים ולא בתוכן.
19. אפקטים בסיסיים: הפונקציות fadeOut ו-fadeIn מעלימות ומציגות את התגיות שנבחרו, ואפשר לקרוא להן בלי פרמטרים ואז הפעולה מהירה מאוד, עם פרמטר slow, normal או fast, או עם מספר מילי-שניות כמו 3000 שהוא שלוש שניות. הפונקציות hide ו-show מצמצמות ומציגות את התגיות, והפונקציה toggle מבצעת את ההפך מהמצב הנוכחי: אם הן מוסתרות היא מציגה ואם מוצגות היא מסתירה.
20. אפקטי סלייד ו-animaate: הפונקציות slideUp ו-slideDown מצמצמות את התגיות כלפי מעלה ומרחיבות חזרה עם אותם פרמטרים של זמן, ו-slideToggle מחליפה ביניהן. הפונקציה animate מקבלת שני ערכים: אובייקט map של ערכי CSS שרוצים לשלוט בהם, כמו width בשווי 100 אחוז ו-font-size ב-50 פיקסלים, ותוך כמה זמן הערכים יושפעו, וכך אפשר להכיל שינויי CSS לאורך זמן.
21. שרשור פונקציות: אפשר לקרוא לפונקציות אחת אחרי השנייה בשרשור, כי כל פונקציה מחזירה שוב את האובייקטים שנבחרו, למשל fadeOut במשך 3000 מילי-שניות ואז fadeIn ואז slideUp ואז slideDown, והאפקטים מתבצעים אחד אחרי השני אוטומטית.
22. document ready: כדי לבצע פעולה בטעינת הדף, במקום אירוע onload שמתבצע רק אחרי שכל התגיות נטענו וגם אחרי שכל התמונות ירדו מהשרת, משתמשים ב-jQuery בפונקציה document.ready שקוראים לו עם הדולר ואז document בסוגריים שמתבצעת כאשר התגיות נטענו אבל לפני שהתמונות נטענו, וזה יתרון גדול. בתוכה נהוג לכתוב פונקציית inline, וקיים קיצור שבו פשוט כותבים את הפונקציה עצמה בתוך הסוגריים של הדולר, ששווה בדיוק ל-document ready.
23. רישום דינמי לאירועים עם bind: נהוג שלחצנים ב-HTML לא יכילו אירועים כדי שהקוד יישאר טהור, ואת הקישור לאירועים ואת הקוד שלהם כותבים ב-jQuery. בתוך document ready מאתרים את הלחצן לפי ה-id עם סולמית וקוראים לפונקציה bind שמקבלת את שם האירוע, למשל click, ואת הפונקציה שתבוצע. חיסרון קטן הוא ששמות האירועים שונים מעט משמות ה-HTML, למשל click במקום onclick.
24. אירועים כפונקציות ומידע על האירוע: ב-jQuery קיימות כעשרים פונקציות שמבצעות את ה-bind לפי שם האירוע, כך שבמקום bind עם click אפשר פשוט לקרוא לפונקציה click ולתת לה את ה-inline function, וכך גם dblclick, mouseenter ו-mouseleave. אירועים מסוימים מספקים מידע: ב-mousemove הפונקציה מקבלת אובייקט event שממנו אפשר להוציא את pageX ו-pageY ולהציג את מיקום העכבר בתוך הדיב. אפשר גם להתנתק מאירוע בעזרת unbind שמקבל רק את שם האירוע להסרה, ואז לחיצות נוספות אינן מפעילות כלום.
25. דוגמה משולבת: תפריט אקורדיון: משלבים את כל מה שלמדנו בבניית תפריט. בתוך document ready מסתירים את כל הפריטים בעזרת hide על הקלאס menuItems, ורשומים לאירוע mouseover של התפריט עצמו פונקציית inline שפונה ל-this, מגיעה לתגית הבאה בתור עם next ומבצעת עליה slideDown במהירות slow, ואז מגיעה לכל האחים שלה עם siblings, לוקחת מהם את ה-menuItems ומבצעת עליהם slideUp בצורה איטית, וכך בכמה שורות קוד בלבד מתקבל אפקט אקורדיון מרשים של פתיחת פריט אחד וסגירת כל היתר.
26. אג'אקס בעזרת jQuery: במקום האג'אקס המורכב של ג'אווה סקריפט טהורה, jQuery מאפשרת חיים הרבה יותר קלים. בונים שתי תיבות טקסט בלי form כלל, כי לא שולחים בצורה קלאסית, ולחצן שרשום לו ב-document ready אירוע click. קוראים לפונקציה הפונקציה ajax של jQuery שקוראים לה עם הדולר נקודה ajax ושולחים לה אובייקט map שמכיל את type שהוא get או post, את url לדף שאליו גולשים, בדוגמה ServerPage.ashx שהוא מהיר הרבה יותר מדף ASP.NET רגיל, את data שהוא מחרוזת משורשרת של פרמטרים שהערכים שלהם מתקבלים בעזרת סלקטור עם סולמית והפונקציה attr על value, את success שהיא פונקציית inline שמקבלת את התשובה ומציגה אותה ב-label, ואת error שהיא פונקציה שמופעלת במקרה של שגיאה ומציגה את error.status.
27. קודי שגיאה: לכל שגיאה בשרת יש קוד שגיאה: error 404 מתאר דף שלא נמצא, error 403 אין הרשאת גישה, error 500 שקרתה קריסה בשרת, ו-error 200 אומר שאין שגיאה ואז פונקציית success תצליח. אחרי הפרמטר האחרון באובייקט ה-map אין פסיק כי זה אובייקט JSON רגיל.
28. צד השרת עבור האג'אקס: מוסיפים HTTP Handler עם הסיומת ashx בשם ServerPage, שהוא הרבה יותר מהיר מדף ASP.NET רגיל כי בדף רגיל מתבצעים כעשרה עד שנים עשר אירועים בכל קריאה וכאן יש פונקציה אחת פשוטה בשם ProcessRequest. בתוכה מקבלים את הערכים מ-context.request ב-query string כי השיטה הייתה get, ממירים אותם ל-double עם Convert כי המשתמש יכול לשלוח ערך עשרוני, מחשבים את הכפל וזורקים את התוצאה בחזרה עם context.response.write. כאשר נשלח ערך שאינו מספר מתרחשת קריסה בשרת ומתקבל error 500, ואפשר לטפל בזה ב-try catch שמחזיר את הודעת החריגה.
29. הפונקציה getJSON: פונקציה נוספת לשליחת פרמטרים היא getJSON, ששולחת את המידע באובייקט ג'ייסוני וגם המידע שמוחזר מתקבל כאובייקט ג'ייסון רגיל. היא מקבלת ערכים רגילים: קודם את הדף אליו קוראים, אחר כך אובייקט map שמחזיק את הפרמטרים כמשתנים בתוכו, num1 ו-num2, בלי לשרשר מחרוזת, ולבסוף את הפונקציה שתתבצע כשהתשובה חוזרת. היא יעילה יותר, מהירה יותר ושולחת את המידע בצורה מצומצמת כי היא שולחת ג'ייסון.
30. פלאג-אין: פלאג-אין הוא ספרייה שמישהו כתב בעזרת jQuery שעושה משהו ספציפי, ויש המון פלאג-אינים ברשת להצגת תפריטים, תמונות מסתובבות ועוד. מחפשים בגוגל, למשל carousel plugin להצגת תמונות מסתובבות, מורידים ופותחים את קובץ ה-index html שמראה איך לתפעל אותו. שם רואים לינק ל-CSS של הפלאגין, לינק לספריית jQuery הרגילה שחייב להיות מעל הלינק לקובץ הפלאגין עצמו, שהוא קובץ ג'אווה סקריפט רגיל שמשתמש ב-jQuery, וסקריפט עם document ready שלוקח רכיב שה-id שלו carousel וקורא דרכו לפונקציית הפלאגין. כל תמונה בקרוסלה מוגדרת בדיב עם carousel feature וכותרתה ב-carousel caption, ואפשר פשוט לשכפל אותן ולשלב תמונות וטקסטים משלנו בלי לכתוב שורת קוד.
31. jQuery UI: הדבר האחרון הוא jQuery UI, ספרייה של פלאג-אינים שמתארים דברים שקשורים לממשק משתמש, שנכתבה על ידי צוות ה-jQuery המקורי. באתר הרשמי רואים רכיבים כמו לוח שנה, מנגנון צבעים ואקורדיון. מורידים ב-build custom download ובוחרים רק את האלמנטים הדרושים, כי הספרייה המלאה שוקלת כחמש מאות קילו, ואפשר גם לבחור theme מסוים לעיצוב. בקובץ שהורדנו יש CSS, ג'אווה סקריפט וקובץ אינדקס שמראה שימוש בכל ה-UI.
32. שילוב לוח שנה וכרטיסיות: כדי לשלב את הקלנדר מעתיקים לדף שלנו את הלינק ל-CSS, את הלינק ל-jQuery, את הלינק ל-jQuery UI ואת הסקריפט שלנו עם document ready, ובתוכו את הקריאה ל-datepicker. הרכיב עצמו הוא פשוט דיב אחת שיש לה id בשם datepicker, ו-jQuery UI לוקח את ה-id הזה והופך אותה ללוח שנה אמיתי שמאפשר לבחור שנים, חודשים וימים, וכולו רץ בצד הלקוח בניגוד ללוח השנה של ASP.NET שבכל לחיצה מבצע ריצה לשרת. באותה צורה משלבים טאבים: מעתיקים את הקריאה ל-tabs ב-document ready ואת הדיב שה-id שלו tabs, שבו לינקים לבחירת הכרטיסייה ודיבים עם התוכן של כל כרטיסייה, ואפשר לשנות את הכותרות והתוכן ולהוסיף כמה כרטיסיות שרוצים.
בסיום השיעור למדנו את ספריית jQuery מהיסודות ועד השלבים המתקדמים: בחירת אלמנטים בסלקטורים של CSS, הפונקציות המרכזיות לעבודה על תגיות ועל ה-DOM, אפקטים ואנימציות עם שרשור פונקציות, רישום דינמי לאירועים בתוך document ready, שליחת בקשות אג'אקס בעזרת ajax ו-getJSON, שימוש בפלאג-אינים חינמיים ובספריית jQuery UI ללוח שנה ולכרטיסיות, ובנינו בדרך תפריט אקורדיון וקרוסלת תמונות בקוד מועט. תודה רבה, ולהתראות בשיעור הבא.
בשיעור הבא נעסוק בנושא Debugging in JavaScript.
SR632HE
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתחילים -לחץ כאן לתלמידי המכללה בלבד

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתקדמים- לחץ כאן לתלמידי המכללה בלבד

פרקי ההרצאה: jQuery

  1. 00:00

    מהי ספריית jQuery

  2. 03:16

    בחירת תגיות עם selectors

  3. 08:12

    סלקטורים first last even odd

  4. 15:36

    פונקציות jQuery

  5. 18:25

    הפונקציה each

  6. 21:42

    הפונקציה attr

  7. 25:26

    addClass ו-removeClass

  8. 27:31

    הפונקציות text ו-html

תמלול ההרצאה: jQuery

הטקסט המלא של הדקות הראשונות בהרצאה «jQuery» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

    אנחנו נכנסים לנושא ה-JQuery. JQuery זאת ספרייה חינמית שעוטפת פונקציות של JavaScript ומאפשרת לנו להשתמש בפונקציות שבספרייה הזאת במקום לכתוב JavaScript בעצמנו.

  2. 00:17

    וכך אנחנו יכולים לבצע המון דברים שב-JavaScript טהור היו מאוד מורכבים לביצוע על ידי פונקציות פשוטות שנמצאות בספרייה.

  3. 00:26

    ראשית, בואו נוריד את הספרייה. אז בשביל להוריד את הספרייה אנחנו נכנסים לאתר שנקרא HTTP, בוא נרשום את זה פה jquery.com וכאן יש לנו אפשרות להוריד את הספרייה פה על ידי לחצן download ויש לנו בעצם שני קבצים שאנחנו יכולים להוריד.

  4. 00:56

    קובץ אחד נקרא production והוא שוקל רק 32 קילו וזה קובץ שמאפשר לנו להעלות את הספרייה לפרודקשן כלומר לאתר שהוא באוויר כי הקובץ הזה הוא לייט. אותו קובץ בדיוק אנחנו יכולים להוריד כ-development והוא שוקל 252 קילו.

  5. 01:15

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

  6. 01:36

    אז בואו נלך לתיקייה, יש לנו את זה בוידאו, יש לנו את זה בקמפטסיה ובג'אווה סקריפט ובנושא jQuery. כרגע הגרסה של jQuery היא 1.8.0 ואנחנו רואים שהקובץ הזה הוא קובץ מינימלי על ידי המילה min.js.

  7. 02:04

    זה קובץ JavaScript רגיל, אנחנו שמים אותו בתיקייה, save, close, אפשר לסגור את האתר ואנחנו רוצים לשלב אותו בדף שלנו.

  8. 02:16

    לצורך שילוב הקובץ הזה, זה קובץ JavaScript רגיל, אנחנו פותחים Script, Language, JavaScript, Type, טקסט JavaScript ו-src מתחברים לקובץ ואנחנו יכולים לראות אותו פה.

  9. 02:34

    כעת אנחנו פותחים סקריפט נוסף עבור כתיבה משלנו של פקודות JavaScript שהשתמשו בספרייה שהורדנו. אז זה קובץ סקריפט רגיל ופה אנחנו כותבים את הפקודות של jQuery.

  10. 02:52

    jQuery מסוגלת לבצע כל מיני דברים על תגיות של ה-HTML. לצורך כך בואו נבנה מספר תגיות, בואו ניקח div כדי שיהיה פשוט, ניקח איזה שישה תגיות טיב שש תגיות טיב וכאן אנחנו יכולים כעת לכתוב קוד ב jQuery אז נבנה פונקציה והדבר הראשון שאנחנו הולכים לראות ב jQuery זה איך אנחנו בוחרים את התגיות שעליהן

  11. 03:23

    אנחנו הולכים לעבוד לצורך בחירת התגיות אנחנו משתמשים בסלקטורס של css אז נקרא לפונקציה טסט סלקטורס בשביל להבין ולהשתמש ב jQuery אנחנו צריכים להכיר html אנחנו צריכים להכיר css ואנחנו צריכים להכיר javascript ואת כל אלו כבר הכרנו במודולים קודמים.

  12. 03:49

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

  13. 04:17

    זאת אומרת אם הייתי עכשיו בcss והייתי רוצה לבצע איזשהו עיצוב מסוים על כל הדיבים הללו מה היה הסלקטור שהייתי בוחר בשביל לעבוד על הדיבים והסלקטור שהייתי בוחר זה פשוט element name selector ופשוט הייתי רושם את השם דיב זה בדיוק מה שאני רושם בתוך הפונקציית jquery ברגע שעשיתי את הדבר הזה jquery יודעת עכשיו שאני רוצה לבצע עבודה מסוימת על כל הדיבים לדוגמה בואו ניקח בjquery את

  14. 04:47

    הפונקציה html HTML פשוט מאוד כותבת בתוך הדיו איזה פעולה או איזה מידע יותר נכון שאני רוצה לכתוב. אז בואו נכתוב Hello, נבנה לחצן, נקרא לו, נכתוב עליו Test Selectors ובאון קליק נקרא לפונקציה Test Selectors הזאתי.

  15. 05:21

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

  16. 05:32

    אז ניקח סטייל ונכתוב בתוך הסטייל דיו בשביל לעצב את הדיבים קצת בצורה יותר אסתטית. ניקח background color orange, ניקח width 200 פיקסלים, ניקח height 70, ניקח בורדר 1 פיקסל, solid black, וניקח איזשהו שוליים בין כל דיב 3 פיקסלים.

  17. 06:17

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

  18. 06:41

    אוקיי, אז יש לנו פה פשוט מאוד לחיצה על הכפתור ו-hello בכל הסלקטורים האלה. שוב פעם בואו נריץ את זה, לחיצה ואני רואה ש jQuery רשמה הלו בתוך כולם.

  19. 06:56

    אני רואה רק שהוויד וההייט לא נקלטו, בואו נסתכל רגע מה הייתה הבעיה. כן, אני רואה פה שיש לנו 200px אמור להיות, יש פה o מיותרת ו-70px גם כן אמור להיות. אז בואו נחזור כרגע, נרפרש, או ככה אמורות להיות הדיבים ונלחץ ונראה שבכל אחד יש את המילה הלו.

  20. 07:23

    כאן גם חסר נקודותיים. שוב בואו נסתכל, הנה הדיבים מעוצבים כמו שצריך, לחיצה ו-jquery מכניסה בכל אחד את המילה הלו.

  21. 07:36

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

  22. 08:00

    בואו נסתכל על זה, יש לנו את העיצוב ההתחלתי, לחיצה על הלחצן ואני רואה שjquery פעלה על כל הdivים. אז בואו נראה כל מיני סלקטורים נוספים שאנחנו יכולים להשתמש איתם.

  23. 08:17

    קודם כל אנחנו יכולים להגדיר div first, div. first כסלקטור. בואו נסתכל מה זה נותן לנו, נרפרש, נלחץ על הלחצן ואנחנו מקבלים ש jQuery ביצעה את הפעולה רק על הדיב הראשונה שקיימת בתוך הרשימה הזאת.

  24. 08:40

    אותו הדבר אנחנו יכולים לבצע על last. בואו נרשום כאן db.2 last, נרפרש, נלחץ על הלחצן ואנחנו רואים את ה-hello מופיע בדיב האחרונה מבין הרשימה שנבחרה.

  25. 09:00

    יש לנו אפשרות לבצע div נקודותיים even כלומר זוגי. נרפרש ונראה עכשיו ש jQuery פועלת רק על הזוגיים כאשר הראשון מתחיל מ-0.

  26. 09:18

    0 יש לנו 1 היא לא פעלה עליו, 2, 3 לא פעלה, 4 ו-5 לא פעלה. אוקיי אותו הדבר יש לנו אפשרות להשתמש ב-div עוד כלומר אי-זוגיים.

  27. 09:34

    כעת אנחנו רואים שכשאני נוחץ על הכפתור רק הדיבים האי-זוגיים קיבלו את הפעולה שאנחנו רוצים לבצע. כל סלקטור שקיים ב-CSS אנחנו יכולים להגדיר כאן.

  28. 09:48

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

  29. 10:05

    נרשום פה קול דיב ונעצב איזשהי סטייל, קלאס יותר נכון, שנקרא קול דיב. נגדיר background color, ניקח olive.

  30. 10:26

    איך אנחנו עכשיו אומרים ל jQuery לעבוד אך ורק על הדיב הזאתי שיש לה קלאף שנקרא קול דיב? אז אנחנו צריכים לחשוב איך ב-CSS היינו מעצבים את הדיב הזאת.

  31. 10:41

    אז כמובן ב-CSS בשביל לעצב את הדיב זה בדיוק מה שרשמנו נקודה קול דיב. זה בדיוק מה שאנחנו רושמים כאן. זאת אומרת בתוך הסוגריים שאחרי הדולר אנחנו פשוט מאוד רושמים את הסלקטור הCSSי שב-CSS היינו מתייחסים לאלמנטים האלה.

  32. 11:01

    לדוגמה, pool div. כעת רק div שיש לה קלאס שנקראת נקודה call div, או יותר נכון call div, תקבל את הפעילות הזאת שאנחנו מגדירים כאן.

  33. 11:15

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

  34. 11:27

    אז בעצם זה די פשוט לעבוד עם jQuery, מפני ש-CSS הוא מאוד נוח לייצוב על ידי כל הסלקטורים. יש לנו כל מיני סלקטורים, יש לנו Element Name Selector שזה שם התגית, יש לנו Class Selector, יש לנו ID Selector, יש לנו Attribute Selector, יש לנו Pseudo Selector, כל הסלקטורים שהיינו

  35. 11:49

    עובדים ב-CSS, זה מה שאנחנו רושמים כאן ואנחנו יכולים להשתמש איתם. בואו נראה עוד כל מיני סלקטורים. אז ב-JQuery יש סלקטורים נוספים שלא קיימים ב-CSS, לדוגמה, div נקודותיים not ואז הסלקטור הרצוי, קול דיו לדוגמה.

  36. 12:12

    כעת מי שהולך לקבל את פקודת ה-jquery הזאת זה כל הסלקטורים או יותר נכון כל הדיווים שאין להם את הסלקטור קול דיו. כלומר אין להם קלאס קול דיו.

  37. 12:27

    בואו נסתכל, נרפרש, נלחץ על הלחצן, כולם קיבלו הלו פרט לדיו שיש לה קלאס שנקראת קול דיו.

  38. 12:39

    בואו נראה עוד סלקטור נוסף. אנחנו יכולים להגדיר דיו נקודותיים פרסט צ'יילד. אוקיי, מה זה אומר? זה אומר שאנחנו רוצים להתייחס לדיו שהיא עצמה צ'יילד ראשון של איזשהו אלמנט.

  39. 13:07

    עכשיו אם נסתכל כאן נראה שהדיו, כל הדיוים האלה יושבים בתוך ה-body אבל אף אחד מהדיוים הוא לא אלמנט ראשון בתוך ה-body מפני שהאלמנט הראשון בתוך ה-body זה הלחצן, אז בואו נסתכל ונראה שכרגע זה לא אמור להשפיע על שום דבר. אני לוחץ על הכפתור ואף דיו לא מקבלת את הפעילות שכרגע כתבתי.

  40. 13:33

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

  41. 13:57

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

  42. 14:17

    בואו נריץ, נלחץ על הלחצן ונראה שה-hello ניתן פה למטה לדיו האחרון כי הוא last child של ה-body. אוקיי, בואו נראה עוד סלקטור.

  43. 14:35

    יש לנו אפשרות להשתמש ב-nth, כלומר הדיו המספר n מסוים, nth child. ואנחנו יכולים להגדיר איזה אנחנו רוצים להתייחס אליו.

  44. 14:52

    אז אנחנו כרגע הגדרנו שאנחנו רוצים שהפעולה ה-j-queried שאנחנו רוצים לבצע תתבצע על דיב מספר 2 שקיימים בכל הדיבים וההתחלה היא תמיד ב-1. כלומר רק הדיב הזה, הדיב השני הולך לקבל את העיצוב.

  45. 15:14

    בואו נסתכל, נלחץ על הלחצן ונראה שהדיב השני מקבל את הפעילות שאנחנו רצינו. אז בעצם ראינו כרגע את כל הסוגים השונים או לא את כולם כמובן יש עוד הרבה אבל את העיקרון של שימוש בסלקטורים בשביל לבחור את רכיבי ה-HTML שעליהם אנחנו רוצים לעבוד ב-JavaScript.

  46. 15:40

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

  47. 15:52

    לצורך כך בואו נעתיק את כל קוד הזה ונפתח קובץ חדש בכדי להפריד, לבצע הפרדה, נשמור אותו גם כן באותה עתיקייה, נבחר html, נבצע open, נדביק את כל הקוד ונשמור אותו באותו המקום, יש לנו כאן את my videos, קמפטסיה, ג'אווה סקריפט,

  48. 16:28

    אנחנו נכנסים ל-jquery והפעם אנחנו הולכים לראות jquery functions. לצורך כך הפונקציה שאנחנו נבנה נקרא לה test functions, יש לנו פה כותרת jQuery Functions נמחק את כל התוכן מהפונקציה מפני שזה קובץ אחר לגמרי לחצן יקרא לטסט פונקצ'אנס ואנחנו קוראים לפונקציה טסט פונקצ'אנס בואו ניפטר משני הדיבים הראשונים

  49. 17:18

    והפונקציה הראשונה שאנחנו הולכים לראות זה פונקציה שמאפשרת לנו לראות כמה פריטים אנחנו בחרנו אז ראשית נבחר את הפריטים ברגע שעשיתי דבר כזה אני מתייחס לכל הדיבים אז עכשיו אני יכול לבחור את פונקציה שנקראת סייז והיא מחזירה לי כמה פריטים קיימים בואו נציג אלרט ונכתוב there are נשרשר את הסייז עם המילה divs in this page נסגור את הדפדפן

  50. 18:06

    ניפטר מהטופס הקודם ונריץ את זה נלחץ על הלחצן והוא כותב לנו there are 6 divs in this page 1,2,3,4,5,6 שזה נכון פונקציה הבאה שJQuery מאפשרת לנו זה פונקציה שנקראת itch אנחנו קוראים לה בצורה הזאת ניקח את הסלקטור הרצוי נקרא ל itch ואנחנו בעצם מסוגלים

  51. 18:50

    על ידי itch לרוץ על כל הדיבים שנבחרו או על כל התגיות האחרות שבחרנו בסלקטור הזה כעת אנחנו בחרנו את כל הדיבים ולכן פונקציית itch אומרת לנו אני רצה על כל הדיבים האלה מה אתה רוצה בדיוק לעשות עבור כל דיב אז מה זאת אומרת מה אני רוצה לעשות זה אומר שאני רוצה לעשות איזושהי פעולה מסוימת.

  52. 19:12

    פעולה בעולם התכנות מתבצעת על ידי פונקציה. זאת אומרת שאני עכשיו צריך לתת ל-each פונקציה. ומה שנהוג לעשות זה לתת לה פונקציית inline שאנחנו ראינו בעבר.

  53. 19:23

    פונקציית inline נכתבת פשוט על ידי המילה function ואין לה שם אלא היא מקבלת רק פרמטרים. אז כאשר פונקציית each של jQuery רצה על כל אחת מהפונקציות שלנו, מהdivים שלנו יותר נכון, היא שולחת לה את האינדקס ואנחנו יכולים לקבל אותו בפונקציה שאנחנו כותבים נפתח סוגריים מסוסלות נסגור סוגריים מסוסלות סוגריים עגולות

  54. 19:53

    ובשביל פונקציית itch נקודה פסיק כי אני נמצא בכל השורה הזאת של פקודה אחת וכל מה שאנחנו צריכים לעשות זה לכתוב את הקוד שלנו בתוך inline function שאנחנו כרגע עובדים עליה בשביל להגיע לדיו הספציפי שכרגע פונקציית itch רצה עליו אנחנו

  55. 20:15

    משתמשים במילה diff לדוגמה ה-InnerHTML זה בעצם התוכן הפנימי של הרכיב שאנחנו כרגע סורקים. בואו נרשום לתוכו IMDb number ונשרשר את אינדקס.

  56. 20:35

    עכשיו לא לשכוח לרשום נקודה פסיק מפני שאנחנו נמצאים בתוך פונקציית אינליין אחת שנמצאת בתוך הפונקציה each. עכשיו יכול להיות שהקוד הזה הוא טיפה מורכב ולכן מה שנהוג לעשות זה פשוט לרדת שורה איפה שאנחנו פותחים את הפונקציות ואיפה שאנחנו סוגרים.

  57. 20:58

    ואז יש לנו פתיחת סוגריים מסוסלות אני יורד שורה ואני יודע שאני נמצא בתוך הפונקציית אינליין הזאתי שזה התוכן שלה לאחר מכן אני סוגר סוגריים של פונקציית האינליין סוגריים של פונקציית itch נקודה פסיק מסיימת את הפקודה של jQuery.

  58. 21:12

    אוקיי בואו נרפרש נריץ נלחץ על הלחצן ונראה שיש לנו I'm div number 0 1 2 3 4 5 כמובן זה התחיל מ-0 ולכן יש לנו פה ריצה על כל הדיווים וביצוע איזושהי פעולה מסוימת עבור כל אחת מהדיווים.

  59. 21:33

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

  60. 22:08

    יותר הגיוני לכן להריץ את זה על דיו אחת ויחידה. בואו ניקח את הדיו הראשונה, ניתן לה ID, נקרא לה ID mydiv, ניתן לה איזשהו אטריביוט, בוא נגיד dir שווה left to right, ואנחנו רוצים להגיע בעזרת jQuery אך ורק לdiv שנקראת mydiv.

  61. 22:34

    אם אני כותב את זה, אז בעצם כתבתי מה שנקרא Element Name Selector. כלומר, אם הייתי כותב את הדבר הזה ב-CSS, CSS הייתה מחפשת אלמנט שנקרא mydiv, וכמובן אין לי אלמנט כזה, אלא יש לי ID כזה.

  62. 22:49

    לכן ב-CSS הייתי אמור לרשום סולמית מיידיב בכדי לתת עיצוב לדיב שזה ה-ID שלה. וזה בדיוק הסלקטור שאני רושם כאן. ולכן jQuery בוחרת לי רק את הדיב הזאתי שיש לה ID שנקרא מיידיב.

  63. 23:07

    ואז דרך ATTR אני מגיע לאטריביוט הרצוי, האטריביוט שאני רוצה לבדוק מהו, נקרא דיר. אוקיי, בואו נדפיס את זה. ניקח איזשהו אלרט, ונראה האם הוא נותן לי את ערך האטריביוט הזה.

  64. 23:26

    בואו נלחץ על הלחצן והוא כותב לי שערך האטריביוט שנקרא dir הוא ltr שזה בדיוק הערך שלו. בעזרת האטריביוט attr אנחנו מסוגלים גם לשנות את ערך האטריביוט הזה וזה מתבצע פשוט מאוד על ידי העמסה נוספת שיש לפונקציה attr שאומרת לנו ערך ראשון שאתם שולחים זה איזה אטריביוט אתם מחפשים והערך השני

  65. 23:35

    זה מה בדיוק האטריביוט הזה מקבל. לדוגמה rtl כלומר left to right בואו נסתכל איך זה משפיע כרגע על הקוד מה שנעשה זה נרשום בתוך הדיו הזאת שלום לכולם אוקיי ומה שנעשה זה נציג שוב פעם את הערך של האטריביוט כאשר אני משנה את האטריביוט אני לא רוצה להציג אותו באלרט בואו נוריד מפה את האלרט ואז הקוד

  66. 24:30

    שלנו אומר דבר כזה דבר ראשון תגיד לי מה ערך האטריביוט שנקרא דיר עבור דיו או יותר נכון עבור רכיב כלשהו שהאיידי שלו נקרא מיידיו. לאחר מכן תשנה את ערך האטריביוט הזה שנקרא דיר לערך rtl ולאחר מכן תציג שוב את ערך האטריביוט דיר.

  67. 24:53

    בואו נסתכל על הקוד. נסתכל על ההרצה. אז יש לי כאן שלום לכולם וכמובן בגלל שערך האטריביוט הוא left to right אני רואה את זה בצד שמאל הפוך.

  68. 25:05

    נלחץ על הכפתור, נראה שהערך כרגע הוא ltr, נלחץ אוקיי, נראה שעכשיו הערך שונה ל-RTL, אנחנו יכולים לראות את זה גם כאן ואנחנו יכולים לראות את זה גם שפיזית הדיב שונתה לימין לשמאל.

  69. 25:26

    אז הפונקציה ATTR היא פונקציה מאוד נפוצה ב-JQuery ומאפשרת לי לקרוא ערכי אטריביוט ולשנות ערכי אטריביוט. הפונקציה הבאה מאפשרת לי להוסיף עיצובים של CSS. בואו נבנה עיצוב css-y נבנה קלאס שנקראת red background, background color red, עיצוב פשוט.

  70. 26:01

    כעת אנחנו רוצים לקחת בדיוק את הדיו הזאתי ולהוסיף לה דינמית את הקלאס. אז יש לנו פונקציה שנקראת add class. add class אומרת תביא לי בדיוק את הקלאס שאתה רוצה שאני אוסיף בלי נקודה red background ואני אוסיף אותו.

  71. 26:28

    בואו נריץ, נלחץ על הלחצן ונראה שהדיו הזאת, ה-Background שלה השתנה לאדום, זאת אומרת שהיא קיבלה את העיצוב CSSי, שזה הקלאס שלו. אנחנו יכולים עכשיו להשתמש בפונקציה שנקראת RemoveClass.

  72. 26:51

    נקרא ל-RemoveClass, נשלח לה בדיוק את אותו Background ולפני זה נגדיר רק PressOK to RemoveClass בכדי לראות את השינוי. בואו נריץ, יש לנו פה ראשית את הקלאס הזאת שניתנה לדיו הראשונה, פרס OK ואנחנו רואים שהסרנו דינמית דרך JQuery, את הקלאס הזאת.

  73. 27:21

    אז הפונקציות האלה היו add class ו-remove class שמאפשרות לנו בצורה דינמית להוסיף ולהוריד קלאסים. פונקציה הבאה נקראת text.

  74. 27:34

    בואו ניקח כרגע את כל הדיבים. נקרא לפונקציה text ונכניס לה היי. נריץ ואנחנו רואים שכולם קיבלו היי. עכשיו אנחנו מקודם ראינו שישנה עוד פונקציה כזאת שנקראת html.

  75. 28:05

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

  76. 28:23

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

  77. 28:39

    נוסיף בתוך הטקסט תגית בר ונרשום ביי, נריץ ונראה שפונקציית טקסט רשמה בדיוק את הטקסט כמו שהוא שימו לב היי פתיחת סוגריים בר סלאש סגירת סוגריים וביי פונקציית html אתם כבר יכולים להבין מה היא עושה היא תתייחס לטקסט הזה כאילו שהוא תגיות אמיתיות ולא סתם תציג את התגיות אלא תתייחס לתגיות כאילו שזה html אמיתי ואז אנחנו לא רואים את

  78. 29:20

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

  79. 29:33

    HTML מקביל ל-InnerHTML והפונקציה טקסט מקבילה לפונקציה ישנה שהייתה שנקראת InnerText שלפעמים גם היא לא נתמכת אבל יש לנו את jQuery שמאפשר לנו לעשות את זה.

  80. 29:50

    הפונקציה הבאה שאנחנו הולכים לראות בואו נעבוד כרגע על מיידיו כלומר רק על הדיו בעלת ID שנקרא מיידיו זאת פונקציה שנקראת append. פנד פירושו להוסיף ובואו נוסיף כרגע איזשהו סמיילי לטקסט בואו נריץ נלחץ על הלחצן ונראה שהסמיילי יתווסף אחרי הטקסט הפנד זה להוסיף אחרי משהו.

  81. 30:25

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

לקורס המלא: קורס Javascript אונליין

ההרצאה הקודמת: OOP

ההרצאה הבאה: Debugging in JavaScript

הרצאות קשורות מקורסים אחרים

  • ממשק מותאם למובייל jQuery Mobile

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS