in

javascript – jQuery document.createElement equivalente?

apple touch icon@2

Aunque esta es una pregunta muy antigua, pensé que sería bueno actualizarla con información reciente;

Desde jQuery 1.8 hay un jQuery.parseHTML () función que ahora es una forma preferida de crear elementos. Además, hay algunos problemas con el análisis de HTML a través de $('(html code goes here)'), por ejemplo, el sitio web oficial de jQuery menciona lo siguiente en una de sus notas de lanzamiento:

Análisis de HTML relajado: puede volver a tener espacios iniciales o nuevas líneas antes de las etiquetas en $ (htmlString). Aún así, le recomendamos encarecidamente que utilice $ .parseHTML () al analizar HTML obtenido de fuentes externas, y es posible que realice más cambios en el análisis de HTML en el futuro.

Para relacionarse con la pregunta real, el ejemplo proporcionado podría traducirse a:

this.$OuterDiv = $($.parseHTML('<div></div>'))
    .hide()
    .append($($.parseHTML('<table></table>'))
        .attr({ cellSpacing : 0 })
        .addClass("text")
    )
;

que, desafortunadamente, es menos conveniente que usar solo $(), pero le da más control, por ejemplo, puede optar por excluir las etiquetas de secuencia de comandos (dejará secuencias de comandos en línea como onclick aunque):

> $.parseHTML('<div onclick="a"></div><script></script>')
[<div onclick=​"a">​</div>​]

> $.parseHTML('<div onclick="a"></div><script></script>', document, true)
[<div onclick=​"a">​</div>​, <script>​</script>​]

Además, aquí hay un punto de referencia de la respuesta principal ajustada a la nueva realidad:

Enlace JSbin

jQuery 1.9.1

  $.parseHTML:    88ms
  $($.parseHTML): 240ms
  <div></div>:    138ms
  <div>:          143ms
  createElement:  64ms

Parece que parseHTML está mucho más cerca de createElement que $(), pero todo el impulso desaparece después de envolver los resultados en un nuevo objeto jQuery

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

desktop icon

Compilador de Bash en línea – Editor de Bash en línea – IDE de Bash en línea – Codificación de Bash en línea – Practicar Bash en línea – Ejecutar Bash en línea – Compilar Bash en línea

gfg 200x200 min

Comando nslookup en Linux con ejemplos