Comunidad de diseño web y desarrollo en internet online

como seleccionar clases como id con javascript

Citar            
MensajeEscrito el 14 Nov 2011 07:23 pm
Basicamente mi duda es sobre como puedo hacerle para seleccionar y manipular clases con javascript como se aria con los id.. me refiero a document.getElementById("")

Pero quiero poder seleccionar clases con ella.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 14 Nov 2011 10:47 pm
Utiliza la siguiente función:

Código :

function getElementsByClass(searchClass,node,tag) {
   var classElements = new Array();
   if ( node == null )
      node = document;
   if ( tag == null )
      tag = '*';
   var els = node.getElementsByTagName(tag);
   var elsLen = els.length;
   var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
   for (i = 0, j = 0; i < elsLen; i++) {
      if ( pattern.test(els[i].className) ) {
         classElements[j] = els[i];
         j++;
      }
   }
   return classElements;
}

Y la llamas así:

Código :

getElementsByClass(searchClass,node,tag);

Funciona igual que getElementById.

Suerte!

Fuente
Ejemplo

Por Kinduff

Claber

3563 de clabLevel

21 tutoriales
3 articulos

 

web dev wizzard

chrome
Citar            
MensajeEscrito el 15 Nov 2011 03:13 pm
Disculpa mi ignorancia, pero en que son iguales.
O para que sirve esta funcion, porque lo que queria hacer es obtener el offsetHeight de una clase. y entendi que si esta funcion era igual a getelementById entonces esto funcionaria:

alert(getElementsByClass(document,'calcula','*').offsetHeight);

Pero no. Como puedo entonces obtener offsetHeight de una clasee??

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 15 Nov 2011 03:31 pm
Hablando se entiende la gente. Utiliza la función .offset() de jQuery para lograr lo que necesitas.

Suerte.

Por Kinduff

Claber

3563 de clabLevel

21 tutoriales
3 articulos

 

web dev wizzard

chrome
Citar            
MensajeEscrito el 15 Nov 2011 03:46 pm
rod00x3:
Ten en cuenta que una clase puede ser asignada a más de un elemento HTML, por tanto no es posible implementar exactamente la misma función que getElementById simplemente porque ésta puede devolver más de un elemento HTML y cada uno de ellos puede tener un offsetHeight diferente (no existe tal cosa como "offsetHeight de una clase").

Lo que la función de Kinduff devuelve (la de JQuery también) es un array de elementos HTML que tienen esa clase.

Si quieres obtener información de un solo elemento HTML particular, ponle un id a ese elemento y ahórrate complicaciones ;).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 15 Nov 2011 06:32 pm
mmm... crei que seria posible, el problema es que por cuestiones de programacion nesecitaba algo como eso. y como con jquery casi todo se maneja igual ("clases y id")
Pense que seria posible.

Bueno buscare otra forma de solucionar esto sin tanto codigo, gracias por responder.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.