Contar divs con la misma clase
4 seguidores
hola, pues tengo una duda aquí.. necesito contar los divs que tengan una misma clase, aquí les diré mas o menos que hago:
<div></div>
primero selecciona los divs totales así:
var numDiv = document.getElementsByTagName("div");
y trato de contar los divs de la siguente forma:
<code>var numElem = numDiv.getAttribute("class");
var numElemClass = numElemClass? numElemClass : numElem.getAttribute("classname");
document.write (numElem);</code>
y nomas no cuenta nada.... como podría resolver eso? gracias por su ayuda buen día
iamgrimi Plus
Gracias, ya quedó probado, efectivamente era lo que querìa gracias muy amable
zigotica
prueba con esto (no lo he probado pero deberia chutar. ojo porque esto comprueba que la capa tenga la class EXACTA. para hacer que CONTENGA la class ya es otra cosa, tampoco es mucho mas dificil pero hay que apañarlo
<code>
var divs = document.getElementsByTagName("div");
var numDivs = divs.length;
var contador = 0;
for(var i = 0; i < numDivs; i++) if(divs[i].className == "tuclase") contador++;
alert(contador);
</code>
dhc
Casi te recomendaría mejor jQuery, te ahorrarías mucho código.
No se apenas Javascript, y estoy aprendiendo al mismo tiempo que con jQuery y es una pasada trabajar con esta librería.
iamgrimi Plus
changos no quería utilizar una librería pero bueno intentare, gracias bro
ernexbcn
Tienes razón, no he leído bien.
Necesitas document.getElementsByClassName, que es parte de la librería prototype:
http://www.prototypejs.org/
La nueva versión de Safari que acaba de salir, tiene soporte nativo de esa función por cierto, sin necesidad de recurrir a prototype:
http://webkit.org/blog/153/webkit-gets-native-getelementsbyclassname/
Pero como normalmente querrás que funcione en todos los navegadores, hazlo con Prototype.
iamgrimi Plus
gracias, eso si lo hago perfectamente bien pero de todas las divs que tengo dentro del sitio solo quiero cuantificar las que tiene una clase especifica como en este caso file... sabras como puedo excluir las demas y solo tomar en cuenta las de una clase? gracias
ernexbcn
var numDiv = document.getElementsByTagName("div").length;
getElementsByTagName devuelve un Array, con "length" obtienes la cantidad de items dentro del mismo.
Saludos