DOM表搜索性能JQuery
我有一个单页应用程序网站,它是在.net中开发的,前端用Jquery编写了大量脚本。我在Jquery中引入了一个新函数,它要求进程进入DOM表,当DOM表达到数千行以上时,它会导致很长的延迟DOM表搜索性能JQuery,jquery,Jquery,我有一个单页应用程序网站,它是在.net中开发的,前端用Jquery编写了大量脚本。我在Jquery中引入了一个新函数,它要求进程进入DOM表,当DOM表达到数千行以上时,它会导致很长的延迟 //The line of code given below causes slow down var Linecode = $('#content').children(0).find('tbody tr:Contains(' + partNo + ') td:nth-child(10)').text
//The line of code given below causes slow down
var Linecode = $('#content').children(0).find('tbody tr:Contains(' + partNo + ') td:nth-child(10)').text();
// complete function given below.
getOriginalPartNoForConsumables: function (partNo, IfAltBtnClicked) {
var Linecode = $('#content').children(0).find('tbody tr:Contains(' + partNo + ') td:nth-child(10)').text();
for (var x = 0; x < Object.keys(pricing.partsWithPrices).length; x++) {
var item = pricing.partsWithPrices[x];
$(item).each(function () {
if (item["partno"] == partNo && item["linecode"] == Linecode) {
partNo = item["partno"] + "*" + item["linecode"];
}
})
}
return partNo;
}
//下面给出的代码行会导致速度减慢
var Linecode=$('#content').children(0).find('tbody tr:Contains('+partNo+'))td:nth child(10')).text();
//完成下面给出的函数。
GetOriginalPartNoFor耗材:功能(零件号,如果已勾选){
var Linecode=$('#content').children(0).find('tbody tr:Contains('+partNo+'))td:nth child(10')).text();
对于(var x=0;x
是否可以重写此函数,以提高DOM表搜索的性能。
请注意:此函数被多次调用,因为每次都必须从DOM表中提取值以获得所需的输出,并且它不会查看DOM层次结构中的任何其他区域。任何帮助都将不胜感激 “DOM表”叫什么?实际的
?当DOM表达到数千行以上时。。。你需要重新考虑你的设计。SPA并不意味着将所有内容同时放在页面上。tr:Contains(“+partNo+”)
将搜索所有td
的文本。“partNo”是指部分搜索吗?或者它是一个精确的匹配,您可以把它放在更明确的地方,例如
.find(“tr[data partno=“+partno+”])”)
但实际上,这应该是一个ajax调用,并在服务器上处理以替换现有行。(当然,这可能需要在您现有的应用程序中进行更多的更改)。我同意这应该通过AJAX调用在服务器端处理。