Какой самый эффективный способ добавлять элементы, а также экранировать текст, используя jQuery? - PullRequest
0 голосов
/ 16 октября 2011

Я оптимизирую узкое место, которое, что неудивительно, является результатом десятков тысяч добавлений в цикле.

Я знаком с шаблоном накопления новых элементов в виде строк, затем объединения ивставив их в одном приложении.Но что, если у этих элементов есть текстовое содержимое, которое необходимо экранировать, т.е. обычно оно устанавливается с помощью .text()?

В настоящее время я создаю их как отдельные элементы, добавляя их в контейнер вне DOM, затемвставив этот контейнер.Есть ли более быстрый подход?

1 Ответ

1 голос
/ 16 октября 2011

Используйте метод накопления в виде строки.Если вам нужно смоделировать метод text(), используйте показанный метод escapeText следующим образом:

var escapeText = function(s)
{
   return s.split('&').join('&amp;').split('<').join('&lt;').split('>').join('&gt;').split('"').join('&quot;');
};

var someArray = ....
var toInsert = '';
for (var i=0; i<someArray.length; i++)
{
   toInsert += '<p>' + escapeText(someArray[i]) + '</p>';
}
$('#foo').append(toInsert);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...