2011-11-04 18 views
16

Tarayıcıya belirli bir seçiciyle eşleşen öğelere belirli CSS sınıflarını atamasını söylemek istiyorum. Saf CSS ile yapabilir miyim ve eğer evet, nasıl?CSS aracılığıyla elemanlara sınıflar atama

Örnek: id sidebar sahip bir div içindeki tüm h5 elemanları sınıfı ui-corners-all

cevap

13

Hayır, bu saf CSS ile mümkün değildir:

Veya alternatif olarak, sizin ui-corners-all CSS değiştirin. Sadece JavaScript

:

// jQuery 
$("h5").addClass("ui-corners-all"); 

// Pure JavaScript 
var elements = document.getElementsByTagName("h5"); 
for (var i=0; i<elements.length; i++) 
{ 
    var el = elements[i];  
    el.setAttribute("class", el.getAttribute("class") + " ui-corners-all"); 
} 
+1

Bu, önyükleme sınıflarını uygulamak için garip bir yol olabilir mi? ? Bunu yapmakla ilgileniyorum, böylece bir cihaza uygulanmakta olan tüm css'leri takip edebilirim ama aynı zamanda bootstrap'i kaldırmayı/uncSS gibi bir şeyle sınıf isimlerimin altındaki geçersiz kılmalarla birleştirmeyi istiyorum. Bu ya da başka şeyler ile sorunlara neden olacaksa emin. – thesowismine

0

saf CSS bu öğelerden bu değeri atamak için bir yolu yoktur istiyorum.

Sen yapmanız gerekir:

#sidebar h5 
{ 

} 

Sonra bu işe ui-corners-all sınıftan tüm stilleri kopyalamak.

.ui-corners-all, #sidebar h5 
{  

} 
+2

Teknik olarak bu öğeleri sınıf "atama" değildir. – jrharshath

+0

Benim cevabımı güncelledim, çünkü bunları saf css'de atamanın bir yolu yoktur, bu yüzden bir alternatif sağladı – Curt

0

Hayır, yapamazsın. Ancak bu efekti elde etmek için Javascript'i (jQuery önerilir) kullanabilirsiniz.

+3

Bence jQuery ve jQuery UI ('ui-corners-all');) – ComFreek

+0

Ah, evet, haklısın! : D – Leonard