Belirli bir öğeye nasıl sınıf ekleyebilirim?

Zaten bir sınıfı olan bir öğem var:

<div class="someclass">
    <img ... id="image1" name="image1" />
</div>

Şimdi dive bir sınıf ekleyecek bir JavaScript işlevi oluşturmak istiyorum (değiştirmek değil, eklemek).

Bunu nasıl yapabilirim?

Çözüm

Elemanın className özelliğine bir boşluk ve yeni sınıfınızın adını ekleyin. İlk olarak, kolayca referans alabilmek için öğeye bir id koyun.

<div id="div1" class="someclass">

</div>

O zaman

var d = document.getElementById("div1");
d.className += " otherclass";

Otherclass'tan önceki boşluğa dikkat edin. Boşluğu dahil etmek önemlidir, aksi takdirde sınıf listesinde kendisinden önce gelen mevcut sınıfları tehlikeye atar.

Ayrıca bakınız element.className on MDN.

Yorumlar (14)

hedef elemanınızı "d" nasıl isterseniz öyle bulun ve sonra:

d.className += ' additionalClass'; //note the space

Bunu, önceden var olup olmadığını kontrol etmek ve alan gereksinimlerini kontrol etmek için daha akıllı yollarla sarabilirsiniz.

Yorumlar (4)

Sadece bu sınıfı eklemekten daha fazlasını yaptığınızı varsayarsak (örneğin, eşzamansız istekleriniz vb. de var), Prototype veya jQuery gibi bir kütüphane öneririm.

Bu, yapmanız gereken hemen hemen her şeyi (bu da dahil) çok basit hale getirecektir.

Diyelim ki sayfanızda jQuery var, bir öğeye (bu durumda yüklendiğinde) bir sınıf adı eklemek için aşağıdaki gibi bir kod kullanabilirsiniz:

$(document).ready( function() {
  $('#div1').addClass( 'some_other_class' );
} );

Diğer şeyler için jQuery API tarayıcısına göz atın.

Yorumlar (0)