2010-01-22 43 views
5

Todos aceptan que menos elementos DOM significan un mejor rendimiento de la página. Significa un mejor rendimiento de JavaScript, especialmente en navegadores antiguos.Las mejores formas de reducir el número de elementos DOM

Pero, ¿dónde se encuentran los mejores lugares para reducir los elementos DOM? ¿Cuáles son los culpables más comunes con los que se han encontrado que son soluciones fáciles para bajar ese número?

Respuesta

8

uso:

<ul id="navigation-main"> 
    etc.. 
</ul> 

en lugar de:

<div id="navigation-main"> 
    <ul> 
     etc.. 
    </ul> 
</div> 

... cuando sea posible, es decir. A veces necesita el div adicional para fines de diseño. Pero cuando no es necesario, no lo use.

+0

Gracias por la sugerencia. Tenía la esperanza de que esto se convirtiera en una discusión similar como "Errores comunes de jQuery", pero supongo que simplemente no hay sugerencias comunes para este problema. – macca1

1

En cualquier lugar en el que utilice un elemento para modificar el diseño suele ser algo en lo que pueda pensar. Muchas veces puedes usar menos elementos combinados con CSS para lograr el mismo resultado. Las reglas difíciles son difíciles, ya que depende mucho del caso específico.

1

Si está utilizando controles de servidor ASP.NET, ese podría ser un buen lugar para comenzar. Algunos de los controles del lado del servidor, aunque son excelentes para un desarrollo rápido, se renderizarán con un marcado excesivo. No estoy recomendando que no use controles del lado del servidor, pero puede encontrar algunos módulos de su sitio que son buenos candidatos para la reducción de DOM por

1) reescribiendo el marcado usted mismo o 2) construyendo el marcado con el System.Web.UI.HtmlControls espacio de nombres.

Los buenos candidatos para este enfoque son los componentes que aparecen en su sitio con frecuencia (encabezado, pie de página, menús de navegación). Los candidatos tampoco son cambiados o modificados con frecuencia a menos que se sienta cómodo manteniendo este estilo.

Otra técnica específica de ASP.NET es usar un System.Web.UI.WebControls.PlaceHolder para trabajar dinámicamente en lugar de un div o panel con el atributo runat="server". El control del marcador de posición no representará ningún elemento adicional, solo lo que haya agregado.

Cuestiones relacionadas