我正在使用以下一些JQuery方法,並希望將它們轉換爲純JavaScript以提高網頁的性能。JavaScript的jquery方法
$(function() {
$('#resultDetails').on('click', '.toggle', function() {
var findChildren = function(tr) {
var depth = tr.data('depth');
return tr.nextUntil($('tr').filter(function() {
return $(this).data('depth') <= depth;
}));
};
var el = $(this);
var tr = el.closest('tr');
var children = findChildren(tr);
var subnodes = children.filter('.expand');
subnodes.each(function() {
var subnode = $(this);
var subnodeChildren = findChildren(subnode);
children = children.not(subnodeChildren);
});
if(tr.hasClass('collapse')) {
tr.removeClass('collapse').addClass('expand');
children.hide();
} else {
tr.removeClass('expand').addClass('collapse');
children.show();
}
return children;
});
});
$(document).ready(function() {
$('table tr').on('click', function() {
$('#showContent').html($(this).find('.content').html());
});
$('table th').on('click', function() {
$('#showContent').html($(this).find('.content').html());
});
$('#resultDetails tbody tr').on('click', function(event) {
$(this).addClass('highlight').siblings().removeClass('highlight');
});
});
演示可在http://jsfiddle.net/wYmwT/1/找到。如果表包含超過2000行,則需要大量時間才能加載。
任何幫助?
這不是一個編碼服務。你有什麼嘗試過自己?你卡在哪裏?你的具體**問題是什麼? – NDM
你的問題不是來自jquery,而是來自你的表可以得到超過2000行。使用某種分頁,然後解決問題...順便說一句,你應該考慮委託事件,而不是爲每個元素創建一個處理程序。 –
-1代碼不可讀。我嘗試了無法讀取的代碼,在這裏,並在工作中... – Virus721