Es segura la creación de DOM de Javascript / jQuery hasta que se agregue al documento?

Lea atentamente esta declaración: supongamos antes de agregar CUALQUIER elemento a ladocument todoe han eliminado @ elementos inseguros en $ dom. Pero fueron creados inicialmente. Ok, continuemos ...

Si se procesa un fragmento de texto de usuario y se puede cargar así, posiblemente:

var comment = 'I\'m a naughty person!!' +
              '<script src="http://blah.com/some_naughty_javascript.js">';
var $dom = $('<div>' + comment + '</div>');

Es estopor sí mism peligroso de alguna manera? Mi punto es, ¿puede el simple acto de crear un DOM de alguna manera inyectar algo, o simplemente se procesa y se crea la estructura?

Por ejemplo

var $dom = $('<script>alert("hi");</script>');

Obviamente, el mensaje hola no aparece hasta que se agrega a ladocument. Pero

¿Puede ser peligrosa alguna etiqueta o cualquier cosa creada de esta manera?¿Puede cualquier función en javascript / jquery "ver" los elementos que se crean de esta manera y actuar en consecuencia ANTES de que se hayan eliminado los elementos defectuosos y se hayan puesto en el documento?Bounty Edit

Así como se describe en las respuestas a continuación, parece que este método no es muy seguro, particularmente por una razón:

var $dom = $('<img src="blah.jpg"/>'): esto solicitará la imagen de inmediato, independientemente de si el objeto se agregó al documento.

Esto crea un problema importante para manejar las solicitudes HTML ajax. Por ejemplo, si quisiéramos obtener los valores de las entradas del formulario:

$.ajax({
  url: 'test.php',
  success: function(responseHTML) {
    var inputs = $(responseHTML).find('form input');
  }
});

Esto provocará involuntariamente que todas las imágenes sean solicitadas por el navegador.

Bounty se otorga a cualquiera:

Quién puede proporcionar una manera agradable y segura de manejar las solicitudes ajax sin el problema anterior.Idealmente no proporciona una respuesta regex ... es decir, qué pasaría si quisiéramos hacer$(responseHTML).find('img'): eliminar las etiquetas de imagen con expresiones regulares no puede ser una opción, por lo que se necesitaría una forma discreta para evitar que el src se cargue, pero aún tenga los mismos atributos, estructura, etc.

Respuestas a la pregunta(4)

Su respuesta a la pregunta