¿Cuál es la mejor manera de detectar si un determinado objeto Javascript es un Elemento de DOM?[duplicar]
-
02-07-2019 - |
Pregunta
Esta pregunta ya tiene una respuesta aquí:
Digamos, por ejemplo, yo estaba escribiendo una función que fue diseñado para aceptar varios tipos de argumento:
var overloaded = function (arg) {
if (is_dom_element(arg)) {
// Code for DOM Element argument...
}
};
¿Cuál es la mejor forma de implementar is_dom_element
lo que funciona en un cross-browser, bastante exactitud?
Solución
jQuery comprueba la propiedad nodeType.Por lo tanto se tendría:
var overloaded = function (arg) {
if (arg.nodeType) {
// Code for DOM Element argument...
}
};
Aunque esto sería detectar todos los objetos DOM, no sólo los elementos.Si desea que los elementos solo, que sería:
var overloaded = function (arg) {
if (arg.nodeType && arg.nodeType == 1) {
// Code for DOM Element argument...
}
};
Otros consejos
Probablemente este de aquí:
node instanceof HTMLElement
Que debería funcionar en la mayoría de los navegadores.De lo contrario, usted tiene que pato-tipo (por ejemplo. typeof x.nodeType != 'undefined'
)
¿Qué acerca de
obj instanceof HTMLElement
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow