เรียนรู้วิธีใช้แอตทริบิวต์ HTML โดยดูจากชื่อและค่าแอตทริบิวต์ที่ใช้บ่อยที่สุด
แอตทริบิวต์ HTML คืออะไร
ใน HTML แอตทริบิวต์เป็นเครื่องมือปรับแต่งที่ใช้ในการเพิ่มข้อมูลเพิ่มเติมให้กับองค์ประกอบ HTML หรือเพื่อเปลี่ยนการทำงานเริ่มต้น (นอกกรอบ)
องค์ประกอบ HTML ที่ไม่มีแอตทริบิวต์เพิ่มมีลักษณะดังนี้:
<tag>Content</tag>
องค์ประกอบ HTML พร้อมแอตทริบิวต์ ถูกกำหนดดังนี้:
<tag attribute="value">Content</tag>
เมื่อคำนึงถึงโมเดลดังกล่าวแล้ว เรามาดูตัวอย่างแอตทริบิวต์ที่ใช้งานได้จริง
แอตทริบิวต์ href
href
คุณลักษณะเป็นหนึ่งในคุณลักษณะที่สำคัญที่สุดใน HTML
href
ใช้สำหรับระบุ URL สำหรับ:
- ไฮเปอร์ลิงก์ (เรียกอีกอย่างว่า “ลิงก์”)
- หรือสำหรับการนำเข้าทรัพยากรภายนอก เช่น สไตล์และสคริปต์
กรณีการใช้งานทั่วไปสำหรับ href
คือการเพิ่ม URL ลิงค์บนองค์ประกอบสมอ :
<a href="url-path">Link text</a>
ลิงก์เหล่านี้อนุญาตให้ผู้ใช้คลิกจากหน้าหนึ่งไปอีกหน้า ทั้งแบบภายใน (บนเว็บไซต์/โดเมนเดียวกัน) หรือ ภายนอก (ไปยังโดเมนเว็บไซต์อื่นๆ)
ลิงก์ภายใน
ลิงก์ภายในใช้เส้นทางสัมพัทธ์:
<a href="/">Home</a>
ตามมาตรฐาน "/"
นำไปสู่หน้าแรกของเว็บไซต์ใด ๆ ซึ่งก็คือ index.html
หน้า.
หากคุณมีเพจชื่อ เกี่ยวกับ และเอกสาร HTML ที่เกี่ยวข้องเรียกว่า about.html
คุณสามารถเชื่อมโยงภายในเช่นนี้:
<a href="/about">About</a>
ลิงก์นี้นำไปสู่หน้าเกี่ยวกับ TechStacker
ลิงก์ภายนอก
ลิงก์ภายนอกจำเป็นต้องมีเส้นทางที่แน่นอน:
<a href="https://www.youtube.com">Go to YouTube.com</a>
แอตทริบิวต์เป้าหมาย
ในขณะที่เรากำลังทำงานกับองค์ประกอบจุดยึด มาดูแอตทริบิวต์องค์ประกอบจุดยึดที่สำคัญอื่น เป้าหมาย
แอตทริบิวต์
เป้าหมาย
แอตทริบิวต์ระบุ ที่ไหน เพื่อเปิดลิงก์เมื่อผู้ใช้คลิกลิงก์เหล่านั้น
ตัวอย่างเช่น หากคุณคลิกลิงก์ภายนอกด้านล่าง คุณจะเข้าสู่ YouTube.com ในส่วนเดียวกัน หน้าต่างแท็บเบราว์เซอร์ที่คุณอยู่ในตอนนี้:
<a href="https://www.youtube.com/">Go to YouTube.com</a>
ไปที่ YouTube.com
สิ่งนี้เกิดขึ้นเพราะโดยค่าเริ่มต้น องค์ประกอบมี
เป้าหมาย
แอตทริบิวต์ที่มีค่า _self
— ซึ่งหมายความว่ามันเปิด href
ค่าลิงก์ในหน้าต่างเดียวกับที่ผู้ใช้อยู่
ดังนั้นองค์ประกอบลิงก์นี้:
<a href="https://www.youtube.com/"></a>
คอมพิวเตอร์/เบราว์เซอร์อ่านดังนี้:
<a href="https://www.youtube.com/" target="_self"></a>
แต่ถ้าคุณต้องการเปิดลิงก์ในแท็บเบราว์เซอร์ใหม่ล่ะ
ไม่มีปัญหา คุณสามารถแทนที่ค่าเริ่มต้น _self
มีค่าด้วย _blank
ค่า:
<a href="https://www.youtube.com" target="_blank" rel="noopener"
>Go to YouTube.com (opens in a new tab)</a
>
ตอนนี้ลิงก์ YouTube จะเปิดขึ้นในแท็บเบราว์เซอร์ใหม่:
ไปที่ YouTube.com (แท็บใหม่)
ฉันจะใช้โอกาสนี้โปรโมตช่อง YouTube ของฉัน:
ลิงก์ไปยังช่อง YouTube ของฉัน (TechStacker)
อ่านเพิ่มเติมเกี่ยวกับองค์ประกอบสมอ/ลิงก์
แอตทริบิวต์ที่ไม่มีค่า
คุณลักษณะ โดยปกติ ประกอบด้วยชื่อแอตทริบิวต์และค่าแอตทริบิวต์ เช่น ในตัวอย่างองค์ประกอบจุดยึด
อย่างไรก็ตาม บางครั้ง ค่า (พฤติกรรม) มีอยู่ในชื่อแอตทริบิวต์
ตัวอย่างเช่น เลื่อน
แอตทริบิวต์เพื่อแก้ไข HTML องค์ประกอบ:
<script defer src="app.js"></script>
สังเกตว่า เลื่อน
แอตทริบิวต์ไม่มีตัวดำเนินการมอบหมาย (=
) หรือค่าเพราะพฤติกรรมของมันอยู่ในตัว
เลื่อน
เป็นสิ่งที่เรียกว่า บูลีน คุณลักษณะ. บูลีนใช้สำหรับข้อมูลประเภทหนึ่งที่มีได้เพียงสองค่าเท่านั้น จริง หรือ เท็จ (หรือ เปิด/ปิด )
มาดูเลื่อน
.กันดีกว่า แอตทริบิวต์
นี้
องค์ประกอบ ไม่มี
เลื่อน
แอตทริบิวต์จะดำเนินการ src
โค้ด JavaScript จาก app.js
ค่าทันทีที่เบราว์เซอร์โหลด:
<script src="app.js"></script>
ตามค่าเริ่มต้น เอกสาร HTML จะถูกแยกวิเคราะห์ (อ่าน) จากบนลงล่าง ทีละบรรทัด ซึ่งหมายความว่าหากคุณใส่ JavaScript ที่ด้านบนสุดของเอกสาร JavaScript จะทำงาน ก่อน ส่วนที่เหลือของเอกสารของคุณแยกวิเคราะห์เสร็จแล้ว
นั่นคือ ค่าเริ่มต้น ลักษณะการทำงานขององค์ประกอบสคริปต์
แต่เมื่อคุณเพิ่ม defer
ไปที่ องค์ประกอบที่คุณปิดการใช้งานการทำงานเริ่มต้นนั้น:
<script defer src="app.js"></script>
ตอนนี้โค้ด JavaScript จะไม่ทำงานจนกว่าทั้งหน้าจะโหลดเสร็จ
ในความหมายที่แท้จริง เลื่อน หมายถึงเลื่อน/เลื่อน/รอ
ที่จะเอาชนะม้าที่ตายแล้ว:
- ไม่มี
เลื่อน
, JavaScript ทำงานทันทีที่โหลด - ด้วย
เลื่อน
JavaScript รอดำเนินการจนกว่าจะโหลดหน้า HTML ทั้งหมด
หากแอตทริบิวต์ทำให้คุณสับสน ไม่ต้องกังวล เพราะเมื่อคุณเริ่มใช้จริงแล้วจะมีประโยชน์มากขึ้น 10 เท่า
แอตทริบิวต์ที่กำหนดเอง
คุณยังสามารถสร้างแอตทริบิวต์ที่กำหนดเอง ซึ่งคุณสามารถควบคุมด้วย JavaScript ได้ ชื่อแอตทริบิวต์ที่กำหนดเองต้องนำหน้าด้วย data-
ป้ายกำกับ:
<tag data-custom-attribute-name="value">Content</tag>
ตัวอย่างเช่น สมมติว่าเรามีธาตุอาหารเรียกว่า “Apple” . เมื่อผู้ใช้คลิกที่มัน เราต้องการแสดงสิ่งที่ ประเภท ของอาหารอยู่ในกล่องโต้ตอบป๊อปอัป
ในการทำเช่นนั้น เราจะสร้างแอตทริบิวต์ที่กำหนดเองที่เรียกว่า
และ JavaScript ที่ทำให้ฟีเจอร์นี้ใช้งานได้:
นี่คือตัวอย่าง
วิธีการทำงานของโค้ด HTML:
โค้ด JavaScript . เป็นอย่างไร ผลงานอยู่นอกเหนือขอบเขตของบทช่วยสอน HTML นี้ ดังนั้นฉันจะให้คำอธิบายที่เข้าใจง่าย:
เมื่อ
ในบรรทัดแรกภายในบล็อคโค้ด JavaScript จะเลือกองค์ประกอบ HTML ใดๆ ที่มี
ในบรรทัดที่สอง เราเรียกใช้
อย่ากังวลหากคุณไม่เข้าใจตัวอย่างโค้ดทั้งหมดข้างต้น มีหลายสิ่งหลายอย่างที่ต้องทำความเข้าใจ โดยเฉพาะอย่างยิ่งสำหรับผู้เริ่มต้น ด้วยการฝึกฝนจะทำให้เข้าใจ!
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ HTML ฉันขอแนะนำให้ดูข้อมูลอ้างอิงแอตทริบิวต์ HTML ของเอกสารเว็บ MDN
สำคัญ: อย่าเก็บเนื้อหาสำคัญที่ควรมองเห็นและเข้าถึงได้ภายในแอตทริบิวต์ข้อมูล เพราะ ช่วยเหลือ เทคโนโลยีบางครั้งไม่สามารถเข้าถึงได้ โปรแกรมรวบรวมข้อมูลค้นหา อาจ ยังไม่สร้างดัชนีค่าแอตทริบิวต์ข้อมูล ดังนั้นอย่าใส่เนื้อหา SEO ที่สำคัญที่นี่food-type
(จำ data-
label) และเพิ่มลงใน Apple
ข้อความด้านใน: <div onclick="showDetailsBox(this)" id="apple" data-food-type="fruit">
Apple
</div>
function showDetailsBox(food) {
const foodType = food.getAttribute("data-food-type")
alert(food.innerHTML + " is a " + foodType)
}
onclick
แอตทริบิวต์ showDetailsBox(นี้)
ไปที่ onclick
แอตทริบิวต์showDetailsBox()
เป็นชื่อของฟังก์ชัน JavaScript ที่ถูกเรียกทันทีที่คุณคลิกที่องค์ประกอบข้อความของ Appleนี่
ส่วนหนึ่งของ (นี้)
เป็นอาร์กิวเมนต์ที่อ้างถึงวัตถุที่เป็นของ (นี้ ค่อนข้างสูงสำหรับผู้เริ่มต้น ถ้าไม่เข้าใจก็ไม่เป็นไร)id
เป็นแอตทริบิวต์ HTML ในตัวที่ใช้เพื่อระบุรหัสเฉพาะสำหรับองค์ประกอบ HTML ในกรณีนี้ ID เฉพาะของเราคือ apple
.showDetailsBox()
ฟังก์ชั่นถูกเรียกโดย onclick
แอตทริบิวต์ event มันรันบล็อกโค้ด { ... }
เนื้อหา:function showDetailsBox(food) {
...
}
data-food-type
ที่กำหนดเอง แอตทริบิวต์และกำหนด (และค่าแอตทริบิวต์) ให้กับตัวแปรชื่อ foodType
:function showDetailsBox(food) {
const foodType = food.getAttribute("data-food-type")
...
}
alert()
. ในตัว เมธอด (ที่พร้อมท์กล่องโต้ตอบป๊อปอัปและบอกให้แสดงค่าของ foodType
ซึ่งแน่นอนว่า ผลไม้
:function showDetailsBox(food) {
const foodType = food.getAttribute("data-food-type")
alert(food.innerHTML + " is a " + foodType)
}