Menu

HTML attributes: תחביר, class, id, data-* ומאפיינים בוליאניים

מאפיינים מוסיפים מידע לאלמנט HTML: לאן קישור מוביל, מה מציגה תמונה, איזו מחלקת CSS חלה עליו. למדו את התחביר, את המאפיינים הגלובליים שכל אלמנט מקבל, את class ו-id, מאפיינים בוליאניים ומאפייני data-*.

בדף הזה יש עורכים שאפשר להריץ - לערוך, להריץ ולראות את הפלט מיד.

מה הם מאפייני HTML

מאפיין (attribute) מוסיף מידע לאלמנט. הוא נכתב בתוך תגית הפתיחה: שם, סימן שוויון וערך במרכאות, name="value". לאלמנט יכול להיות כל מספר של מאפיינים, מופרדים ברווחים.

href אומר לקישור לאן ללכת, src ו-alt מתארים את התמונה, ו-type, placeholder ו-required מגדירים את שדה הקלט. לכל אלמנט יש סט מאפיינים משלו, וכמה מהם (המאפיינים הגלובליים שבהמשך) עובדים על כל אלמנט.

כללי תחביר

<input type="text" name="city" value="Paris" disabled>
  • שם, סימן שוויון, ערך במרכאות. מרכאות כפולות הן המוסכמה; גם גרשיים בודדים עובדים (title='Say "hi"' היא הדרך לשים מרכאות כפולות בתוך ערך).
  • שמות לא תלויי רישיות. CLASS ו-class הם אותו מאפיין. ערכים כן תלויים: class="Box" ו-class="box" הן מחלקות שונות.
  • המרכאות אופציונליות כשאין רווחים, אבל שימו אותן בכל זאת. class=big box נותן לאלמנט את המחלקה big ומאפיין שני, חסר משמעות, בשם box.
  • הסדר לא משנה. <img alt="" src="a.png"> זהה ל-<img src="a.png" alt="">.
  • כל שם פעם אחת לאלמנט. אם מאפיין מופיע פעמיים, הדפדפן שומר את הראשון ומשמיט את השני בשקט.

מאפיינים בוליאניים

חלק מהמאפיינים הם דלוק או כבוי. אצלם הנוכחות פירושה אמת, והערך נזנח. disabled, checked, required, readonly, hidden, multiple, autofocus ו-open פועלים כולם כך.

הכפתור השלישי מושבת למרות שהערך אומר false, כי הדפדפן בודק רק אם המאפיין קיים. כדי לכבות מאפיין בוליאני, הסירו אותו. ב-JavaScript, button.disabled = false עושה בדיוק את זה.

המאפיין class

class נותן לאלמנט שם אחד או יותר שבעזרתם CSS ו-JavaScript מוצאים אותו. כמה אלמנטים יכולים לחלוק מחלקה, ולאלמנט אחד יכולות להיות כמה מחלקות, מופרדות ברווחים:

כל מחלקה נוספת מוסיפה את הכללים שלה מעל הקודמים. ב-CSS בוחרים מחלקה עם נקודה (.card); ב-JavaScript, element.classList.add('featured') ו-classList.remove משנים אותן. מחלקות הן הדרך הרגילה לעצב: רוב ה-CSS שלכם יכוון למחלקות.

המאפיין id

id נותן לאלמנט שם שחייב להיות ייחודי בעמוד. השתמשו בו כשצריך בדיוק אלמנט אחד: יעד של קישור, <label for> או document.getElementById.

לחיצה על התווית מעבירה את המיקוד לשדה הקלט, כי for="email" מצביע על id="email". הקישור גולל אל #pricing כי המקטע ב-href תואם ל-id.

classid
כמה אלמנטים יכולים לחלוק אותוכל מספראחד (ייחודי)
ערכים לאלמנטכמה, מופרדים ברווחאחד
סלקטור CSS.name#name
שימוש נפוץעיצוב קבוצות של אלמנטיםיעדי קישורים, תוויות, אלמנט ספציפי אחד ב-JavaScript

id לא יכול להכיל רווחים. התחילו אותו באות כדי שיהיה קל להשתמש בו ב-CSS: #2col אינו סלקטור CSS תקין בלי escaping.

מאפיינים גלובליים

המאפיינים האלה עובדים על כל אלמנט:

מאפייןמה הוא עושה
idשם ייחודי לאלמנט
classרשימת שמות מחלקות מופרדת ברווחים
styleCSS מוטבע, כמו style="color: red"
titleטקסט טולטיפ שמוצג במעבר עכבר
langשפת התוכן, כמו lang="fr"
dirכיוון הטקסט: ltr, rtl או auto
hiddenמסתיר את האלמנט (בוליאני)
tabindexהופך אלמנט לבר מיקוד עם Tab, או קובע את הסדר שלו
contenteditableמאפשר למשתמש לערוך את הטקסט של האלמנט
data-*נתונים משלכם, נקראים עם JavaScript

למאפיין lang יש עמוד משלו כי הוא משפיע על קוראי מסך, תרגום וחיפוש.

מאפייני data-*

כשצריך לשמור ערך משלכם על אלמנט, הוסיפו לשם את הקידומת data-. כל שם עובד אחרי הקידומת, ו-JavaScript קורא את הערכים דרך element.dataset, כשהמקפים הופכים ל-camelCase:

data-product-id הופך ל-dataset.productId. הערכים תמיד חוזרים כמחרוזות, אז המירו עם Number() לפני חישובים. גם CSS יכול לבחור לפיהם: [data-price="4.50"].

טעויות נפוצות

  • כתיבת class פעמיים. <div class="a" class="b"> שומר רק את a. שימו את שניהם במאפיין אחד: class="a b".
  • שימוש חוזר ב-id. שני אלמנטים עם אותו id שוברים קישורי #links, תוויות ו-getElementById, שמחזיר רק את הראשון. השתמשו במחלקה לכל דבר שחוזר.
  • disabled="false" או checked="false". המאפיין עדיין קיים, אז הוא עדיין פעיל. הסירו אותו במקום.
  • ערכים בלי מרכאות עם רווחים. alt=My photo מגדיר את alt כ-My. שימו מרכאות סביב כל ערך.
  • המצאת מאפיינים בלי data-. <div price="4"> הוא HTML לא תקין ועלול להתנגש במאפיין תקני עתידי. השתמשו ב-data-price.

שאלות נפוצות

מהו מאפיין (attribute) ב-HTML?

מאפיין הוא מידע נוסף שנכתב בתוך תגית הפתיחה בצורה name="value". הוא מגדיר את האלמנט: href קובע לאן קישור מוביל, src ו-alt מתארים תמונה, ו-class ו-id מאפשרים ל-CSS ול-JavaScript למצוא את האלמנט.

מה ההבדל בין class ל-id ב-HTML?

id חייב להיות ייחודי בעמוד ומזהה אלמנט אחד, עבור קישורי #fragment, <label for> ו-getElementById. class יכול להיות משותף לאלמנטים רבים, ולאלמנט אחד יכולות להיות כמה מחלקות מופרדות ברווחים. השתמשו במחלקות לעיצוב.

איך מוסיפים כמה class לאלמנט HTML?

כתבו אותן במאפיין class אחד, מופרדות ברווחים: <div class="card featured dark">. כתיבת class פעמיים לא עובדת: הדפדפן שומר רק את הראשון.

האם מאפייני HTML צריכים מרכאות?

המרכאות אופציונליות כשבערך אין רווחים או תווים מיוחדים, אבל ההרגל הבטוח הוא לשים אותן תמיד. class=big box נותן לאלמנט את המחלקה big ועוד מאפיין נפרד בשם box.

למה הכפתור שלי עדיין מושבת עם disabled="false"?

disabled הוא מאפיין בוליאני: עצם הנוכחות שלו פירושה אמת, לא משנה מה כתוב בערך. כדי להפעיל את האלמנט, הסירו את המאפיין, או הגדירו button.disabled = false ב-JavaScript, מה שמסיר אותו.

אפשר להמציא מאפייני HTML משלי?

השתמשו בקידומת data-: data-price="12" או data-user-id="7" תקינים בכל אלמנט וניתנים לקריאה ב-JavaScript דרך element.dataset. שמות מומצאים בלי הקידומת הם HTML לא תקין.

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל