Hyperlink & Atribut Global đź”—
Apa bedanya Buku Cetak sama Website? Buku harus dibaca urut (halaman 1 ke 2). Website bisa loncat-loncat. Fitur loncat inilah yang disebut Hyperlink.
1. Tag Anchor (<a>) âš“
Tag <a> adalah pintu ke dunia lain.
<a href="[https://google.com](https://google.com)">Pergi ke Google</a>Jenis-Jenis Link:
A. Link ke Website Lain (External)
<a href="[https://youtube.com](https://youtube.com)" target="_blank" rel="noopener noreferrer">
Buka YouTube
</a>-
target="_blank": Buka di Tab Baru. Biar user gak ninggalin web lo. -
rel="noopener noreferrer": WAJIB dipasang kalau paketarget="_blank". Ini buat keamanan biar web tujuan gak bisa nge-hack tab asli lo.
B. Link ke Halaman Sendiri (Internal)
<a href="/profil">Lihat Profil Saya</a>C. Link Loncat Indah (Anchor Scroll) Pernah klik tombol "Contact" terus layarnya nge-scroll otomatis ke bawah? Itu pake ID.
<a href="#kontak">Hubungi Kami</a>
<section id="kontak">
<h2>Ini Bagian Kontak</h2>
</section>Peringatan Next.js: Kalau link ke halaman dalam web sendiri (Internal), JANGAN pake <a> biasa. Gunakan komponen <Link> dari Next.js biar loadingnya instan (SPA).
import Link from 'next/link'
// âś… BENAR
<Link href="/dashboard">Dashboard</Link>2. Atribut Global (ID vs Class) 🆔
Setiap tag HTML (div, p, h1) bisa ditempelin "Stiker" identitas. Ada dua jenis stiker:
A. ID (id="...")
Sifatnya UNIK. Dalam satu halaman, cuma boleh ada SATU elemen dengan ID tertentu.
-
Analogi: Nomor KTP / NIK. Gak mungkin ada dua orang NIK-nya sama.
-
Guna: Buat target JavaScript atau Anchor Link tadi.
<h1 id="judul-utama">Website Desa</h1>B. Class (class="...")
Sifatnya MASSAL. Boleh dipake rame-rame.
-
Analogi: Seragam Sekolah. Semua siswa pake baju yang sama.
-
Guna: Buat Styling (CSS / Tailwind).
<button class="btn-biru">Simpan</button>
<button class="btn-biru">Kirim</button>
<button class="btn-biru">Hapus</button>3. Atribut Data (data-*) 📦
Kadang lo butuh nyimpen data rahasia di elemen HTML buat dipake sama JavaScript, tapi gak mau data itu muncul di layar.
Pake atribut data-. Namanya bebas terserah lo.
<div
id="produk-1"
data-harga="50000"
data-stok="10"
data-pemilik="Pak Haji"
>
Sepatu Kuda
</div>Nanti di JavaScript/React, lo bisa ambil datanya gampang banget. Ini sering dipake buat fitur Keranjang Belanja atau Filter.
// Contoh JavaScript (Logic)
const produk = document.getElementById('produk-1');
console.log(produk.dataset.harga); // Output: "50000"Intinya:
-
Mau pindah halaman? Pake <a> (atau <Link> di Next.js).
-
Mau nandain satu elemen spesial? Pake
id. -
Mau dandanin banyak elemen sekaligus? Pake
class.