javascript - objetos - innerhtml
¿Cuál es la mejor manera de detectar si un objeto Javascript dado es un elemento DOM? (3)
Esta pregunta ya tiene una respuesta aquí:
Digamos, por ejemplo, que estaba escribiendo una función que fue diseñada para aceptar múltiples tipos de argumentos:
var overloaded = function (arg) {
if (is_dom_element(arg)) {
// Code for DOM Element argument...
}
};
¿Cuál es la mejor manera de implementar is_dom_element para que funcione de forma cruzada y bastante precisa?
Probablemente este aquí:
node instanceof HTMLElement
Eso debería funcionar en la mayoría de los navegadores. De lo contrario, tiene que escribirlo en forma de pato (por ejemplo, typeof x.nodeType != ''undefined''
)
Qué pasa
obj instanceof HTMLElement
jQuery comprueba la propiedad nodeType. Entonces tendrías:
var overloaded = function (arg) {
if (arg.nodeType) {
// Code for DOM Element argument...
}
};
Aunque esto detectaría todos los objetos DOM, no solo los elementos. Si quieres elementos solo, eso sería:
var overloaded = function (arg) {
if (arg.nodeType && arg.nodeType == 1) {
// Code for DOM Element argument...
}
};