2010-01-22 6 views
5

Все согласны с тем, что меньшее количество элементов DOM означает лучшую производительность страницы. Это означает лучшую производительность javascript, особенно в старых браузерах.Лучшие способы уменьшения количества элементов DOM

Но где лучше всего искать, чтобы уменьшить элементы DOM? Каковы общие виновники, с которыми вы, ребята, сталкивались, это простые исправления, чтобы получить это число?

ответ

8

использование:

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

в смену:

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

... если это возможно, то есть. Иногда вам нужны дополнительные div для целей макета. Но когда это не необходимо, не используйте его.

+0

Спасибо за предложение. Я надеялся, что это превратится в аналогичную дискуссию, как «Common jQuery ловушки», но я думаю, что для этой проблемы просто нет общих предложений. – macca1

1

В любом месте, где вы используете элемент, влияющий на макет, как правило, вы можете думать. Часто вы можете использовать меньше элементов в сочетании с CSS для достижения того же результата. Жесткие правила сложны, так как это зависит от конкретного случая.

1

Если вы используете серверные элементы управления ASP.NET, это может быть хорошим местом для начала. Некоторые элементы управления на стороне сервера, в то время как отлично подходят для быстрой разработки, окажутся с чрезмерной разметкой. Я не выступаю за то, что вы не используете серверные элементы управления, но вы можете найти некоторые модули своего сайта, которые являются хорошими кандидатами для уменьшения DOM на

1) переписывание разметки самостоятельно или 2) создание разметки с помощью System.Web.UI.HtmlControls пространство имен.

Хорошими кандидатами на этот подход являются компоненты, часто появляющиеся на вашем сайте (верхний колонтитул, нижний колонтитул, меню навигации). Кандидаты также не часто меняются или изменяются, если вы не поддерживаете этот стиль.

Другой специфический метод ASP.NET - использовать System.Web.UI.WebControls.PlaceHolder для динамической работы вместо div или панели с атрибутом runat="server". Элемент управления записями не будет предоставлять никаких дополнительных элементов, только то, что вы добавили к нему.