¿Cómo se relaciona exactamente con jQuery? Sé que la biblioteca usa funciones nativas de JavaScript internamente, pero ¿qué es exactamente lo que intenta hacer cada vez que aparece un problema?
javascript
jquery
domexception
Julian Weimer
fuente
fuente
response.xml
donde esté disponible. Por ejemplo,$(e).append(response.xml || $(response));
Si recibe este error debido a un jquery ajax, llame a $ .ajax
Entonces es posible que tenga que especificar cuál es el tipo de datos va a volver desde el servidor. He arreglado mucho la respuesta usando esta propiedad simple.
fuente
Específicamente con jQuery puede encontrarse con este problema si olvida los cuidados alrededor de la etiqueta html al crear elementos:
Levantará este error porque lo que quisiste decir fue
fuente
Este error puede ocurrir cuando intenta insertar un nodo en el DOM que es HTML no válido, que puede ser algo tan sutil como un atributo incorrecto, por ejemplo:
fuente
@Kelly Norton tiene razón en su respuesta
The browser thinks the HTML you are attempting to append is XML
y sugierespecifying the content type when fetching via XHR
.Sin embargo, es cierto que a veces utiliza bibliotecas de terceros que no va a modificar. Es JQuery UI en mi caso. Luego, debe proporcionar el derecho
Content-Type
en la respuesta en lugar de anular el tipo de respuesta en el lado de JavaScript. Establecer suContent-Type
atext/html
y que están bien.En mi caso, era tan fácil como cambiar el nombre del
file.xhtml
afile.html
- servidor de aplicaciones tenido alguna extensión a MIME tipos de asignaciones fuera de la caja. Cuando el contenido es dinámico, puede configurar el tipo de contenido de respuesta de alguna manera (por ejemplo,res.setContentType("text/html")
en la API de Servlet).fuente
Puedes ver estas preguntas
Obtener HIERARCHY_REQUEST_ERR cuando se usa Javascript para generar recursivamente una lista anidada
o
Cuadro de diálogo jQuery UI con devolución de botones ASP.NET
La conclusión es
cuando intente usar la función append, debe usar una nueva variable, como este ejemplo
En el ejemplo anterior, usa la var "dlg" para ejecutar la función appendTo. Entonces el error "HIERARCHY_REQUEST_ERR" no volverá a aparecer.
fuente
Encontré este error al usar la extensión de Google Chrome Sidewiki. Deshabilitarlo resolvió el problema para mí.
fuente
Voy a agregar una respuesta específica más aquí porque fue una búsqueda de 2 horas para la respuesta ...
Estaba tratando de inyectar una etiqueta en un documento. El html era así:
Si observa, la etiqueta se cierra en el ejemplo anterior (
<area/>
). Esto no fue aceptado en los navegadores Chrome. w3schools parece pensar que debería estar cerrado, y no pude encontrar la especificación oficial en esta etiqueta, pero seguro que no funciona en Chrome. Firefox no lo aceptará con<area/>
o<area></area>
o<area>
. Chrome debe tener<area>
. IE acepta cualquier cosa.De todos modos, este error puede deberse a que su HTML no es correcto.
fuente
Sé que este hilo es antiguo, pero he encontrado otra causa del problema que otros pueden encontrar útil. Recibía el error con Google Analytics tratando de agregarse a un comentario HTML. El código ofensivo:
Esto estaba causando el error porque mi primer elemento fue un comentario HTML (es decir, un código de plantilla de Dreamweaver).
Modifiqué el código ofensivo a algo que ciertamente no es a prueba de balas, pero mejor:
fuente
Si se encuentra con este problema al intentar agregar un nodo a otra ventana en Internet Explorer, intente usar el HTML dentro del nodo en lugar del nodo en sí.
IE no admite agregar nodos a otra ventana.
fuente
Este ERROR me ocurrió en IE9 cuando traté de agregar un niño dinámicamente a uno que ya existía en una ventana A. La ventana A crearía una ventana secundaria B. En la ventana B después de alguna acción del usuario, una función se ejecutaría y haría un appendChild en el elemento de formulario en la ventana A usando
window.opener.document.getElementById('formElement').appendChild(input);
Esto arrojaría un error. Lo mismo ocurre con la creación del elemento de entrada utilizando
document.createElement('input');
en la ventana secundaria, pasándolo como un parámetro a lawindow.opener
ventana A, y allí se agrega. Solo si creara el elemento de entrada en la misma ventana donde iba a agregarlo, tendría éxito sin errores.Por lo tanto, mi conclusión (verifique): ningún elemento puede crearse dinámicamente (usando
document.createElement
) en una ventana, y luego agregarse (usar.appendChild
) a un elemento en otra ventana (sin dar quizás un paso adicional en particular que me perdí para asegurar que no se considere XML o algo). Esto falla en IE9 y arroja el error, aunque en FF esto funciona bien.PD. No uso jQuery.
fuente
Otra razón por la que esto puede surgir es que está agregando antes de que el elemento esté listo, por ejemplo
En este caso, deberá mover el script después de. No estoy del todo seguro si eso es kosher, pero mover el script después del cuerpo no parece ayudar: /
En lugar de mover la secuencia de comandos, también puede agregarlos en un controlador de eventos.
fuente
Recibí ese error porque olvidé clonar mi elemento.
fuente
Solo para referencia.
IE bloqueará la adición de cualquier elemento creado en un contexto de ventana diferente del contexto de ventana al que se está agregando el elemento.
p.ej
Todavía no he descubierto cómo crear un elemento dom con jQuery usando un contexto de ventana diferente.
fuente
Me sale este error en IE9 si hubiera deshabilitado la opción de depuración de script (Internet Explorer). Si habilito la depuración de scripts, no veo el error y la página funciona bien. Esto parece extraño, ¿qué tiene que ver la excepción DOM con la depuración habilitada o deshabilitada?
fuente