Técnicamente $('<element></element>')
es más correcto, ya que las etiquetas de cierre automático utilizando /
fue eliminado en HTML5, sin embargo, no hace absolutamente ninguna diferencia, porque esa declaración se analiza por jQuery. En todo caso, simplemente usando $('<element>')
podría ser en realidad un poco más rápido, porque es menos caracteres para leer. Que debería saltear algunas condiciones Regex también.
Mejor aún, si usted está buscando la manera más rápida posible usando jQuery:
var temp = new jQuery.fn.init();
temp[0] = document.createElement('element');
temp.length = 1;
Esta versión es más rápida, ya que se salta jQuery()
que envuelve "nueva jQuery.fn.init()" y no pasa argumentos para que devuelva inmediatamente un nuevo objeto jQuery. Se saltea muchas condiciones y declaraciones a prueba de fallas, que son innecesarias si ya sabes exactamente lo que estás tratando de hacer.
o ligeramente más corto:
var temp = $(document.createElement('element'));
Esta versión es un poco más lento, pero mucho más fácil de leer, y un montón más limpio. Todavía omite una gran parte del código utilizado para analizar el, lo que sería una cadena que se pasa. En cambio, jQuery puede saber automáticamente que estamos trabajando con un nodo aquí.
Referencia
HTML5 Does NOT Allow “Self-Closing” Tags
Google: html5 self closing tags
jsperf
y por qué no puedes usar 'document.createElement ('elemento')'? ¿Hay alguna ley que te obligue a escribir el código más lento posible? –
@ tereško A menos que haya evaluado que este código es un cuello de botella en su aplicación, el rendimiento no debería ser el factor principal en esta elección. Espero que la diferencia de rendimiento solo sea relevante en bucles estrechos. Pero más bien claridad y consistencia del código. Si usa jquery en la mayoría de los lugares, no hay ninguna razón para usar DOM aquí, y si usa principalmente DOM, no hay ninguna razón para usar jquery para esto. – CodesInChaos
@ tereško +1 ... costo de creación de objetos + costo de análisis de cadenas + costo de muchas condiciones + costo de diseño loco patrón = factura jQuery. – Shea