Tengo 2 formas en que puedo crear un <div>uso jQuery.
Ya sea:
var div = $("<div></div>");
$("#box").append(div);
O:
$("#box").append("<div></div>");
¿Cuáles son los inconvenientes de usar una segunda vía que no sea la reutilización?
Tengo 2 formas en que puedo crear un <div>uso jQuery.
Ya sea:
var div = $("<div></div>");
$("#box").append(div);
O:
$("#box").append("<div></div>");
¿Cuáles son los inconvenientes de usar una segunda vía que no sea la reutilización?
.html, pero no.appenden el segundo caso?Respuestas:
La primera opción le brinda más flexibilidad:
Y, por supuesto,
.html('*')anula el contenido mientras.append('*')que no, pero supongo que esta no era tu pregunta.Otra buena práctica es prefijar sus variables jQuery con
$:¿Hay alguna razón específica para usar $ with variable en jQuery?
Colocar comillas alrededor del
"class"nombre de la propiedad lo hará más compatible con navegadores menos flexibles.fuente
$", en mi opinión. Solo señalando que lo que has hecho no requiere$div:$("<div>", {id: 'foo', class: 'a', click: function () {}}).appendTo("#box");$div. No he visto esa sintaxis antes, pero soy nuevo en Jquery.$("<div>", {id: "foo", class: "a"});. Quiero saber si hay otras opciones para elloPersonalmente, creo que es más importante que el código sea legible y editable que performant. Cualquiera que le resulte más fácil de ver y debe ser el que elija para los factores anteriores. Puedes escribirlo como:
Y tu primer método como:
Pero en lo que respecta a la legibilidad; El enfoque jQuery es mi favorito . Siga estos útiles trucos, notas y mejores prácticas de jQuery
fuente
Mucho más expresivo,
Referencia: documentos
fuente
classdebe estar entre comillas, de acuerdo con los documentos (a través del enlace de Documentos anterior): "El nombre" clase "debe estar entre comillas en el objeto ya que es una palabra reservada de JavaScript, y" className "no se puede usar ya que se refiere a la propiedad DOM , no el atributo ".Según la documentación oficial de jQuery
Para crear un elemento HTML,
$("<div/>")o$("<div></div>")se prefiere.A continuación, puede utilizar cualquiera de los dos
appendTo,append,before,aftery etc ,. para insertar el nuevo elemento al DOM.PS: jQuery Versión 1.11.x
fuente
De acuerdo con la documentación de 3.4 , se prefiere utilizar atributos con
attr()método.fuente
classcomillas, esto fallará silenciosamente y puede resultar en locura.Recomendaría la primera opción, donde realmente construyes elementos usando jQuery. El segundo enfoque simplemente establece la propiedad innerHTML del elemento en una cadena, que resulta ser HTML, y es más propensa a errores y menos flexible.
fuente
Si
#boxestá vacío, nada, pero si no es así, hacen cosas muy diferentes. El primero agregará adivcomo el último nodo hijo de#box. Este último reemplaza completamente el contenido de#boxun solo vacíodiv, texto y todo.fuente
También es posible crear un elemento div de la siguiente manera:
agregar clase
también puede realizar
append()yappendChild()fuente