使用jQuery在追踪元素同时转义文本的最有效方法是什么?

时间:2011-10-15 23:02:44

标签: jquery performance

我正在优化一个瓶颈,毫不奇怪,这是一个循环中数万个追加的结果。

我熟悉将新元素作为字符串累积的模式,然后将它们连接并插入到单个附加中。但是,如果这些元素具有需要转义的文本内容,即通常使用.text()进行设置会怎样?

我目前正在将它们创建为单独的元素,将它们附加到DOM外部的容器中,然后插入该容器。有更快的方法吗?

1 个答案:

答案 0 :(得分:1)

使用accumulation-as-string方法。如果您需要模拟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);