jQuery';使用Select2在表中添加行时,性能极低

jQuery';使用Select2在表中添加行时,性能极低,jquery,html,performance,Jquery,Html,Performance,我正在开发一个网页,在页面加载时创建一个没有行的表。通过按钮,用户可以添加行(单击一次=再添加一行)。问题是在添加了大约13-15行之后,整个页面变得非常低;在80行之后,它完全不可用。 由于我的用户将不得不添加许多行(甚至200-300行),我想知道如何提高总体性能。 编辑: 过了一段时间,我们发现问题是由Select2导致的,这会减慢页面速度…那么如何解决这个问题呢 var计数器=1; $('#添加')。在('单击',函数()上){ $('#myTable')。查找('>tbody:las

我正在开发一个网页,在页面加载时创建一个没有行的表。通过按钮,用户可以添加行(单击一次=再添加一行)。问题是在添加了大约13-15行之后,整个页面变得非常低;在80行之后,它完全不可用。 由于我的用户将不得不添加许多行(甚至200-300行),我想知道如何提高总体性能。

编辑:
过了一段时间,我们发现问题是由Select2导致的,这会减慢页面速度…那么如何解决这个问题呢

var计数器=1;
$('#添加')。在('单击',函数()上){
$('#myTable')。查找('>tbody:last child')。追加(
"" +
“”+计数器+“”+
"" +
"" +
"" +
"" +
"" +
"" +
"" +
"" +
"" +
""
);
$('[id^=“articolo”]')。选择2({tags:true});
});

添加
#
字段1(*)
字段2(*)
字段3
字段4
字段5
字段6
字段7
字段8

如评论中所述,您的目标是所有选择,请尝试此

更改此项:

$('[id^="articolo"]').select2({ tags: true });
为此:

$('#articolo'+counter).select2({ tags: true });

这样,您只针对最后添加的
选择
,而不是所有的

,如评论中所述,您针对的是所有选择,请尝试此

更改此项:

$('[id^="articolo"]').select2({ tags: true });
为此:

$('#articolo'+counter).select2({ tags: true });

这样,您只针对最后添加的
select
,而不是所有的添加了15行之后,它的性能变得很低,这真的很奇怪。我将您的示例代码放在了一个片段中,注意我必须包含一个“添加”按钮。我已经坐了30秒,添加了数百行,页面性能绝对不错。是否对附加内容执行任何其他逻辑?还要注意,使用增量行
id
属性是一种反模式。你可以在所有行和DOM遍历中使用公共类来识别它们。说实话,我真的不明白为什么这里很快,而在我的网站上却不是…我发誓我没有添加任何其他元素,也没有填充选择项…只是引导的CSS“中断”神奇之处?我的jquery版本是2.2.4…你认为这太旧了吗?真奇怪,在只添加了15行之后,它的性能变得很低。我将你的示例代码放在了一个片段中,注意我必须包含一个“添加”按钮。我已经坐了30秒,添加了数百行,页面性能绝对不错。是否对附加内容执行任何其他逻辑?还要注意,使用增量行
id
属性是一种反模式。你可以在所有行和DOM遍历中使用公共类来识别它们。说实话,我真的不明白为什么这里很快,而在我的网站上却不是…我发誓我没有添加任何其他元素,也没有填充选择项…只是引导的CSS“中断”神奇?我的jquery版本是2.2.4…你觉得这太旧了吗?哇,你救了我,真的!!谢谢^^^很高兴它有帮助!哇,你救了我,真的!!谢谢^^^很高兴它有帮助!