Mitleser: jQuery - Wert wieder löschen

Beitrag lesen

Schätzt Du, das Ergebnis wird damit relevanter, weil z.B. der Chrome dann nativ 0,003ms statt mittels jQuery 0,010ms braucht?

Also. 1000 Elemente dynamisch auf dem von Dir verlinktem Twitterpost erzeugt und danach per Zufallsprinzip (um es besser nachvollziehbar zu halten, Code steht weiter unten, kann 1:1 via Konsole ausgeführt werden) entweder nativ oder via jQuery aus dem DOM gefischt. Chrome bleibt Testsieger, die Proportionen bleiben aber auch im FF / IE 11 vergleichbar. Nativer Zugriff ist grob zwischen 2x und 3x so schnell wie jQuery. Der IE 11 performte am miesesten, braucht bei Ausreißern ca. 3ms mit jQuery und ca. 1,5ms nativ.

Chrome performed bei mir ca. 0,5ms nativ und ca. 1,5ms via jQuery. Wenn ich auf 100 Elemente runtergehe, liegt der Unterschied bei mir an der Messbarkeitsgrenze. Messung erfolgte stets nach frischem Reload der Seite. Your turn!

var elementCount = 1000;

for (var i = 1; i <= elementCount; i++) {
	var elementId = 'testdiv_' + i;
	var newDiv = document.createElement('div'); 
	var newContent = document.createTextNode(elementId); 
	newDiv.appendChild(newContent);
	newDiv.setAttribute('id', elementId);
	document.body.appendChild(newDiv);
}

var testNative = (Math.random() >= 0.5);
var testLabel = testNative ? 'native' : 'jQuery';
var none, elementId;
console.time(testLabel);
for (var c = 1; c <= elementCount; c++) {
	elementId = 'testdiv_' + c;
	if (testNative) {
		none = document.getElementById(elementId);
	}
	else {
		none = $('#' + elementId).get(0);
	}
}
console.timeEnd(testLabel);