add() を使用して2 つの jQuery を一緒に追加する方法を知っています
ただし、私が取り組んでいるプロジェクトでは、パフォーマンスのボトルネックになっています。私はいじって代替手段を思いつきました。これにより、パフォーマンスが大幅に向上し、同じ結果が得られます (このフィドルでは 1000 ミリ秒に対して約 60 ミリ秒)。
http://jsfiddle.net/jedierikb/rkAP4/1/
var t = $("#test");
var tKids = t.children( );
var j = $("#jest");
var jKids = j.children( );
var z,
zMax = 30000;
var time1 = new Date();
for (z=0; z<zMax; z++)
{
var opt1 = tKids.add( jKids );
}
var time2 = new Date();
for (z=0; z<zMax; z++)
{
var i,
iMax,
allKids = [];
for(i = 0, iMax = tKids.length; i < iMax; i++)
{
allKids.push( tKids[i] );
}
for(i = 0, iMax = jKids.length; i < iMax; i++)
{
allKids.push( jKids[i] );
}
var opt2 = $( allKids );
}
var time3 = new Date();
console.log( (time2-time1) + " v " + (time3-time2) );
注: dom 要素の順序の保証や重複の削除など、add の利点は必要ありません。
このアプローチを、私が行っているすべての反復よりもクリーンまたはコンパクトにする方法があるかどうか疑問に思っています。または、より良いアプローチが一緒にあるかもしれません。