Foros del Web » Programando para Internet » Javascript »

obtener el tipo de un objecto

Estas en el tema de obtener el tipo de un objecto en el foro de Javascript en Foros del Web. hola a todos. como podria obtener el tipo de un objeto dado cualquiera? a veces, para saber de que elemento se trata simplemente hago esto: ...
  #1 (permalink)  
Antiguo 02/01/2006, 18:32
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
obtener el tipo de un objecto

hola a todos.

como podria obtener el tipo de un objeto dado cualquiera?

a veces, para saber de que elemento se trata simplemente hago esto:

elem = document.getElementById("elem");
window.alert(elem);

y me aparece un cuadro de dialogo con el tipo de elemento, por ejemplo "InputText" o "NodeList", etc...

el problema es que no se como comprobar en javascript el tipo del elemento.
como podria hacerlo?

gracias a todos.
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
  #2 (permalink)  
Antiguo 02/01/2006, 20:28
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
deberia ser algo parecido a "instanceof", como en otros lenguages.

if (elemento instanceof NodeList) {
// hacer esto y lo otro
} else {
// otra cosa, mariposa
}

pd.: por cierto, "instanceof" funciona en Firefox (como no!) pero no en IE (como no!)
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
  #3 (permalink)  
Antiguo 02/01/2006, 20:43
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
typeOf Devuelve una cadena que identifica el tipo de datos de una expresión(numbre,string,object)
nodeType te da info sobre el tipo de nodo.
http://www.mozilla.org/docs/dom/domr..._el_ref16.html
  #4 (permalink)  
Antiguo 03/01/2006, 17:49
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
bueno, gracias Panino5001 por la informacion, pero typeOf me devolvia una informacion muy limitada del tipo del objeto.

instanceof existe y funciona tanto en IE como en Firefox, lo que pasa es que en IE solo se puede utilizar con tipos basicos, como String, Array, Object:

if (x instanceof Object) {...}

por lo que el operador me servia tanto como typeOf.

el problema es que en principio habia dos opciones, o que el objeto fuese un HTMLInputElement o fuese un NodeList. ambos son Objetos, por lo que no hay forma de diferenciarlos ni con el typeOf ni con el instanceof.

al final lo he hecho de la siguiente manera, por si a alguien le interesa:
Código:
if ((_input1.type !== undefined) && (_input1.type == "text")) {
    window.alert("es un unico campo de texto");
} else {
    window.alert("es otra cosa");
}
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:26.