Dollár, te nagyon drága!

Csak ésszel a jQuery $ függvényével.

Tfh. egy 1500 sorból álló lista minden második elemet akarod szűrni:


var i = 0;
$("ul#ezerotszaz li:visible").each(function(){
	if (i++%2)
		$(this).hide();
});

Eredmény: 245 ms., 9784 hívás.

Ezzel ugye meg is lennénk. Nézzük csak így:


var i = 0;
$("ul#ezerotszaz li").each(function(){
	if (this.style.display == "none")
		return;
	if (i++%2)
		this.style.display = "none";
});

Eredmény: 90 ms., 1533 hívás.

Nem mindegy. Ezzel a programomban a Google Chromium 8mp. helyett kb. 0,2mp. alatt szűr egy listát.

Természetesen ez egy erőltetett, konstruált példa. A munkám során egy ~1050 soros listából kellett szűrni, és adott feltételek alapján, nem pedig minden másodikat. Mivel kattintáshoz rendelt esemény volt a szűrés, igencsak kellett, hogy gyorsan menjen.