我有這個代碼,它操縱asp.net treeview html代碼。提高jquery選擇速度
此代碼運行頻繁,所以它的重要性在於儘可能快地運行。
我想了解更多關於jquery選擇器並提高速度的信息。到目前爲止,我能夠自己獲得這些代碼。
我不確定的一些事情是如果你想要第三個子元素,我使用[2]
或.eq(2)
或:nth-child(2)
?另外如果我使用$
來選擇來自所選東西的東西,這是必要的,還是已經被選中?
有誰知道任何技巧或提示,我可以做,以提高我的jQuery選擇效率?
謝謝。
function showResultsOnTreeview(treeviewID, filenameDictionary) {
var sectionNodes = $("#" + treeviewID + " > table");
var numOfSections = sectionNodes.length;
var i, j, sectionName, divContainer, itemNodes, numOfItems, itemName, itemTag, itemPath;
for (i = 0; i < numOfSections; i += 1) {
sectionName = $(sectionNodes[i]).text();
divContainer = $(sectionNodes[i]).next('div');
divContainer.hide();
itemNodes = $('table', divContainer);
numOfItems = itemNodes.length;
for (j = 0; j < numOfItems; j += 1) {
itemTag = $('td', $(itemNodes[j])).eq(2);
itemTag.removeClass('treeViewResult');
itemName = getNameFromItem($(itemNodes[j]).text());
itemPath = filenameDictionary[itemName];
if (itemPath != null) {
if (itemPath.indexOf(sectionName + "/" + itemName) != -1) {
itemTag.addClass('treeViewResult');
divContainer.show();
}
}
}
}
}
http://jsperf.com/ – epascarello
@epascarello:我甚至不知道如何使用它,因爲這是來自Microsoft專用Microsoft SharePoint環境中的asp.net解決方案。 – omega
確保緩存對象儘可能多,如'var sect = $(sectionNodes [i]);' – mplungjan