Самый быстрый способ добавить / удалить несколько элементов в DOM - PullRequest
6 голосов
/ 05 сентября 2011

Редактировать: Это не дубликат "Fastest DOM вставка", потому что он также включает переменную слушателей событий. В любом случае я отредактирую вопрос.

Я бы хотел кое-что узнать, если бы кто-то уже открыл.

Я хотел бы знать, какой самый быстрый способ добавить элемент в javascript и быть совместимым с ie6 +, chrome10 +, firefox2 +.

Самая быстрая техника для:

  1. Добавить отдельный элемент
  2. Добавить 100 элементов
  3. Любая временная кривая для добавления 1 элемента или 1000 элементов

  4. То же, что и выше, но для удаления элемента

  5. Добавить / изменить / удалить атрибут встроенного стиля

  6. Добавление прослушивателей событий, таких как mousedown / mouseup / mouseover

  7. Быстрее добавить / удалить некоторые теги поверх других? Пример: быстрее добавить / удалить <div> или <p>? (В режиме добавления: я думаю, что он быстрее <p>, потому что он содержит только 1 букву против 3 букв, и, возможно, потому что div - это контейнер. Я не знаю, поэтому я спрашиваю: D)

    1. Удалите элемент, каким-то образом сохраните его в js, затем снова добавьте его и оставьте прослушиватели событий такими, какими они были до удаления элемента

Это большой вопрос, поэтому, если вы знаете только некоторые вопросы, вы всегда можете поделиться тем, что знаете;)

спасибо, спасибо !!

Ответы [ 2 ]

2 голосов
/ 05 сентября 2011

1 Установите значение innerHTML в родительском элементе в строку, содержащую HTML для новых элементов.
2 То же, что и 1.
4 Установите значение innerHTML в родительском элементе в пустую строку.
7.1 Вызовите Node.removeChild(), сохраните возвращенный объект Node, а затем передайте узел на Node.appendChild().

0 голосов
/ 05 сентября 2011

Google / SO ваши друзья:

Например, для вопроса 1/2, см. Самая быстрая вставка DOM

Я думаю, вы можете найти их много.

Еще одним хорошим местом для поиска сравнения производительности помимо Google / SO является использование jsperf: http://jsperf.com/browse и http://jsperf.com/popular. Я почти уверен, что есть ответы на многие ваши вопросы. И если у вас есть вопросы, на которые нет ответов, вы также можете проверить их на главной странице http://jsperf.com/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...