ใน HTML คุณสามารถสร้างแอตทริบิวต์ที่กำหนดเองได้ จากนั้น คุณสามารถใช้ CSS เพื่อจัดรูปแบบ หรือ JavaScript เพื่อควบคุมการทำงานของแอตทริบิวต์เหล่านั้น
คุณสามารถเรียกแอตทริบิวต์ที่กำหนดเองได้ตามต้องการ อย่างไรก็ตาม ชื่อแอตทริบิวต์ที่กำหนดเองต้องนำหน้าด้วย data-
ป้ายกำกับ:
<tag data-custom-attribute-name="value">Content</tag>
ตัวอย่างเช่น สมมติว่าเรามีธาตุอาหารเรียกว่า “Apple” . เมื่อผู้ใช้คลิกที่มัน เราต้องการแสดงสิ่งที่ ประเภท ของอาหารอยู่ในกล่องโต้ตอบป๊อปอัป
ในการทำเช่นนั้น เราจะสร้างแอตทริบิวต์ที่กำหนดเองที่เรียกว่า food-type
(จำ data-
label) และเพิ่มลงใน <div>
องค์ประกอบที่มี Apple
ข้อความด้านใน:
<div onclick="showDetailsBox(this)" id="apple" data-food-type="fruit">
Apple
</div>
และ JavaScript ที่ทำให้ฟีเจอร์นี้ใช้งานได้:
function showDetailsBox(food) {
const foodType = food.getAttribute("data-food-type")
alert(food.innerHTML + " is a " + foodType)
}
นี่คือตัวอย่าง
วิธีการทำงานของโค้ด HTML:
- ขั้นแรก เราได้เพิ่ม
onclick
แอตทริบิวต์<div>
องค์ประกอบ. นี่คือแอตทริบิวต์เหตุการณ์ที่แนบตัวฟังเหตุการณ์ที่รับฟัง... คุณเดาได้ คลิกเลย! - จากนั้นเรากำหนดค่าแอตทริบิวต์ของ
showDetailsBox(this)
ไปที่onclick
แอตทริบิวต์ showDetailsBox()
เป็นชื่อของฟังก์ชัน JavaScript ที่ถูกเรียกทันทีที่คุณคลิกที่องค์ประกอบข้อความของ Apple- The
this
ส่วนหนึ่งของ(this)
เป็นอาร์กิวเมนต์ที่อ้างถึงวัตถุที่เป็นของ (นี้ ค่อนข้างสูงสำหรับผู้เริ่มต้น ถ้าไม่เข้าใจก็ไม่เป็นไร) id
เป็นแอตทริบิวต์ HTML ในตัวที่ใช้เพื่อระบุรหัสเฉพาะสำหรับองค์ประกอบ HTML ในกรณีนี้ ID เฉพาะของเราคือapple
.
โค้ด JavaScript . เป็นอย่างไร ผลงานอยู่นอกเหนือขอบเขตของบทช่วยสอน HTML นี้ ดังนั้นฉันจะให้คำอธิบายที่เข้าใจง่าย:
เมื่อ showDetailsBox()
ฟังก์ชั่นถูกเรียกโดย onclick
แอตทริบิวต์ event มันรันบล็อกโค้ด { ... }
เนื้อหา:
function showDetailsBox(food) {
...
}
ในบรรทัดแรกภายในบล็อคโค้ด JavaScript จะเลือกองค์ประกอบ HTML ใดๆ ที่มี data-food-type
ที่กำหนดเอง แอตทริบิวต์และกำหนด (และค่าแอตทริบิวต์) ให้กับตัวแปรชื่อ foodType
:
function showDetailsBox(food) {
const foodType = food.getAttribute("data-food-type")
...
}
ในบรรทัดที่สอง เราเรียกใช้ alert()
. ในตัว เมธอด (ที่พร้อมท์กล่องโต้ตอบป๊อปอัปและบอกให้แสดงค่าของ foodType
ซึ่งแน่นอนว่า fruit
:
function showDetailsBox(food) {
const foodType = food.getAttribute("data-food-type")
alert(food.innerHTML + " is a " + foodType)
}
อย่ากังวลหากคุณไม่เข้าใจตัวอย่างโค้ดทั้งหมดข้างต้น มีหลายสิ่งให้ทำความเข้าใจ โดยเฉพาะอย่างยิ่งสำหรับผู้เริ่มต้น ด้วยการฝึกฝนจะทำให้เข้าใจ!
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ HTML ฉันขอแนะนำให้ดูข้อมูลอ้างอิงแอตทริบิวต์ HTML ของเอกสารเว็บ MDN
สำคัญ: อย่าเก็บเนื้อหาสำคัญที่ควรมองเห็นและเข้าถึงได้ภายในแอตทริบิวต์ข้อมูล เพราะ ช่วยเหลือ เทคโนโลยีบางครั้งไม่สามารถเข้าถึงได้ โปรแกรมรวบรวมข้อมูลค้นหา อาจ ยังไม่สร้างดัชนีข้อมูลแอตทริบิวต์ค่า ดังนั้นอย่าใส่เนื้อหา SEO ที่สำคัญที่นี่