เรียนรู้วิธีใช้แอตทริบิวต์ 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)
}