Я сделал как-то так раньше.Используйте больше классов CSS и меньше элементов, и удалите все ненужное (например, комментарии).Хотя данные носили табличный характер, я обнаружил, что намного проще создать идеальный по пикселям макет, используя <div>
s.
Разметка
<div class="cell">
<img src=""> <p>name</p> <p>Gender</p> <p>Mood</p>
</div>
CSS
div.cell {
float: left;
padding: 5px;
margin: 6px;
}
Если возможно, также может быть быстрее использовать CSS spriting для изображений, а не 10k больше элементов для изображений.Что-то вроде:
Разметка
<div class="cell" style="background-position: 0px 0px;">
<p>name</p> <p>Gender</p> <p>Mood</p>
</div>
CSS
div.cell {
float: left;
padding: 5px;
margin: 6px;
background-image: url(path/to/sprite);
background-repeat: no-repeat;
}
Редактировать Если вам нужно сделатьЛюбая манипуляция DOM с этими элементами, я рекомендую загрузить их все в массив JS - один раз - и затем обращаться к ним по индексу из массива.Неоднократные запросы DOM для тех же элементов приведут к снижению производительности.
Если возможно, также удалите элементы <p>
внутри каждого <div>
.Если у вас есть 10k <div>
элементов, каждый из которых содержит 3 <p>
s, то вы действительно работаете с минимумом 40k элементов.
Это много DOM, детка.
Если вы можете понять, как получить одинаковую раскладку, удаляя даже 1 или 2 <p>
с из каждого <div>
, вы мгновенно получаете до 20К или 30К элементов.