Red de conocimiento informático - Material del sitio web - Cómo determinar si un objeto js es un objeto dom

Cómo determinar si un objeto js es un objeto dom

A veces necesitamos escribir código js para determinar si un objeto es un objeto DOM y luego realizar operaciones posteriores. Aquí proporciono un método que es compatible con los navegadores convencionales y se considera relativamente seguro.

Para determinar si un objeto es un objeto DOM, lo primero que hay que pensar es si tiene varios atributos o características de un objeto DOM, como por ejemplo si tiene el atributo nodeType, el atributo tagName, etc. Cuantas más características podamos determinar, más confiable será, porque después de todo, nuestros objetos js personalizados también pueden tener estas propiedades. ¿Hay alguna otra manera de hacer esto?

En DOM

El estándar Level2 define un objeto HTMLElement, que estipula que todos los objetos DOM son instancias de HTMLElement, por lo que podemos usar este método para determinar si un objeto es un objeto DOM. : Si el objeto es una instancia de HTMLElement, entonces debe ser un objeto DOM. En los navegadores que no admiten HTMLElement, seguimos utilizando la detección de funciones.

type="text/javascript">

// Primero, debemos verificar el tipo de HTMLElement, porque incluso si HTMLElement es compatible

// El tipo también es diferente en los navegadores.

// En Opera, el tipo de HTMLElement es una función, que no se puede utilizar en este ejemplo

var

isDOM

=

(

tipo de

HTMLElement

===).

'objeto'

)

función(obj){

retorno

obj

instancia de

HTMLElement;

}

función(obj){

retorno

obj

&&

tipo de

obj

===

'objeto '

&&

obj.nodeType

===

1

&&

typeof

obj.nodeName

===

'cadena';

}

< /script>

Lo anterior es el contenido completo sobre cómo determinar si un objeto js es un objeto dom. Espero que todos admitan Script Home~

.