2010-08-10 15 views
32

JavaScript kullanan bir öğeye ilişkin sınıf özniteliğinin değerini almak istiyorum. Ancak bu özel durumda YUI, jQuery vb. Gibi bir kütüphane lüksüne sahip değilim ve temel bilgilere sadık kalmam gerekiyor.JavaScript kütüphanesiz bir eleman sınıfı alma

Özellikle, bir tablo üzerinde döngü yapıyorum ve hücre sınıfını kontrol etmek istiyorum.

var colClass = el.getAttribute('class');

ve

var colClass = el.class; 

Ancak ne çalışıyor gibi görünüyor:

denedim. Yukarıdaki örnekte, el, var el = document.getElementById('myTable').rows[y].cells[y];

cevap

57

Belki denemelisiniz bu

var colClass = el.className 
2

className gibi bir tablonun hücre dizisinden ayarlanır?

Element.className

<html> 
<body id="myid" class="mystyle"> 

<script> 
var x=document.getElementsByTagName('body')[0]; 
document.write("Body CSS class: " + x.className); 
document.write("<br>"); 
document.write("An alternate way: "); 
document.write(document.getElementById('myid').className); 
</script> 

</body> 
</html> 
12

çalışması gerektiğini yayınlanmıştır Bu hat:

var colClass = el.getAttribute('class'); 

Eğer tarayıcıda olsun hangi hata gönderir misiniz? Elin boş olmadığından emin ol.

işe Şunu, the attribute of the object is className, not class almazsınız edin:

var colClass = el.className; 
+1

getAttribute ('sınıf') boş döndüren bir jQuery nesne üzerinde SinifAdi kullanmak canot görüyoruz. Aynı öğe için .className sınıfı döndürdü. – Zugwalt

+0

@Zugwalt - Gönderiden beri uzun zaman geçti. Neden olsun? – HelloWorldNoMore

+0

@HelloWorldNoMore Bu, IE6 veya IE7 gibi eski tarayıcılarda görülmüştür – Zugwalt

0

Unutmayın:

Eğer bir hata alırsanız ve className işe yaramazsa bu, jQuery nesnesi olmasından dolayı olabilir. Yukarıdaki resimde

works not on jquery

Ben