Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
HTML id, bir HTML öğesine sayfa içinde benzersiz bir kimlik vermek için kullanılan global özniteliktir. Aynı belge içindeki başka bir öğede aynı id değeri kullanılmamalıdır. Bu kimlik; belirli bir bölüme bağlantı vermek, CSS ile tek bir öğeyi hedeflemek veya JavaScript üzerinden öğeyi bulmak için kullanılır.

Örneğin aşağıdaki kodda iletisim değeri, section öğesinin kimliğidir:

Kod:
<section id="iletisim">
  <h2>İletişim</h2>
  <p>Bize ulaşmak için formu kullanabilirsiniz.</p>
</section>

Bu öğeye sayfanın başka bir yerinden bağlantı vermek için href değerinin başına # eklenir:

Kod:
<a href="#iletisim">İletişim bölümüne git</a>

Bağlantıya tıklandığında tarayıcı, id="iletisim" olan bölüme kayar. Adres çubuğunda #iletisim parçası görülebilir. Bu yöntem özellikle uzun sayfalarda içindekiler, SSS bölümleri ve belirli içeriklere doğrudan bağlantı vermek için kullanışlıdır.

HTML ID nasıl kullanılır?​


Bir öğeye ID eklerken şu uygulama sırasını izleyin:
  1. Hedef öğeyi belirleyin. Örneğin bir bölüm, başlık, form veya hata mesajı olabilir.
  2. Öğeye anlamlı ve benzersiz bir id değeri ekleyin: id="urun-detaylari".
  3. Sayfa içi bağlantı gerekiyorsa href="#urun-detaylari" biçimini kullanın.
  4. CSS ile hedeflemek için #urun-detaylari seçicisini, JavaScript ile bulmak için document.getElementById("urun-detaylari") yöntemini kullanın.
  5. Tarayıcıda bağlantıyı, görünümü veya JavaScript davranışını test edin. Hedef bulunamıyorsa yazımdaki büyük-küçük harfleri ve id değerinin gerçekten mevcut olup olmadığını kontrol edin.
Çalıştırılabilir en küçük örnek şöyledir:

Kod:
<!doctype html>
<html lang="tr">
<head>
  <meta charset="utf-8">
  <title>ID örneği</title>
  <style>
    #sonuc {
      padding: 10px;
      border: 1px solid #999;
    }
  </style>
</head>
<body>
  <a href="#sonuc">Sonuca git</a>

  <p id="sonuc">Bu paragrafın benzersiz ID değeri sonuc'tur.</p>

  <script>
    const hedef = document.getElementById("sonuc");
    console.log(hedef.textContent);
  </script>
</body>
</html>

Başarılı durumda bağlantı paragrafı görünür konuma getirir ve geliştirici konsolunda paragrafın metni yazdırılır. CSS uygulanmıyor veya JavaScript null döndürüyorsa seçicide ve id değerinde yazım hatası olabilir. Aynı ID birden fazla öğede kullanılırsa belge kurala uymaz. getElementById belge sırasındaki ilk eşleşen öğeyi döndürür; bu da hedeflediğiniz öğe olmayabilir. Öğeleri seçerken büyük-küçük harfleri aynen koruyun. Script öğeden önce çalışıyorsa hedef henüz oluşmadığı için de null dönebilir; örnekte script bu nedenle paragraftan sonra yer alıyor.

ID ile class arasındaki fark​


id tek bir öğeyi tanımlamak için, class ise aynı biçim veya davranışı paylaşan birden fazla öğeyi gruplamak için tercih edilir.
ÖzellikIDClass
Kullanım amacıTek ve belirli öğeOrtak grup veya stil
BenzersizlikBelge içinde benzersiz olmalıBirçok öğede kullanılabilir
CSS seçicisi#menu.kart
Sayfa içi bağlantıUygunDoğrudan hedef değildir
Örneğin sayfadaki tüm ürün kartlarının aynı görünmesini istiyorsanız class="urun-karti" kullanın. Yalnızca sepet özetini hedeflemek istiyorsanız id="sepet-ozeti" daha uygundur.

ID yazarken dikkat edilmesi gerekenler​

  1. Aynı belge içinde aynı değeri tekrarlamayın. id="baslik" iki farklı öğede bulunmamalıdır.
  2. ID değerinde boşluk kullanmayın. Birden fazla kelime gerekiyorsa urun-detaylari gibi kısa ve okunabilir bir biçim seçin.
  3. ID'yi yalnızca stil vermek için her yerde kullanmayın; tekrar kullanılacak stiller için class tercih edin.
  4. JavaScript'te window.menu gibi dolaylı erişim yerine document.getElementById("menu") kullanın.
  5. ID değerini sonradan değiştirirken ona verilen sayfa içi bağlantıları, CSS seçicilerini ve JavaScript kodlarını da güncelleyin.
Erişilebilirlik için bir form alanını açıklayan label öğesinde for değeri, ilgili alanın id değeriyle eşleştirilebilir:

Kod:
<label for="eposta">E-posta</label>
<input id="eposta" type="email">

Böylece etiket ile form alanı ilişkilendirilir; kullanıcı etikete tıkladığında ilgili alan odaklanabilir.

Kaynaklar​



Sık sorulan sorular​


ID değeri rakamla başlayabilir mi?​


HTML açısından ID değeri rakamla başlayabilir. CSS seçicisi oluşturan querySelector gibi yöntemlerde böyle bir değer kaçış gerektirir. getElementById ise doğrudan kimlik metnini alır ve CSS kaçışı istemez. Harfle başlayan kısa değerler, seçicilerle çalışmayı kolaylaştırır.

Bir öğede hem ID hem class kullanılabilir mi?​


Evet. Örneğin
HTML:
<div id="ana-menu" class="menu"></div>
kodunda id öğeyi tekil olarak tanımlar, class ise ortak menü stillerine katılmasını sağlar.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic