Überschreiben der Funktion ts_getInnerText aus wikibits.js

Bearbeiten

Hinzugekommen ist eine Prüfung, ob das Element class="sortkey" hat; falls ja wird nicht dessen Inhalt, sondern das title-Attribut als Wert und damit zur Sortierung verwenden.

	if (el.className == "sortkey" && el.title) return el.title;

Diese Zeilen mussten raus, beide versuchen, direkt den kompletten "Textinhalt" eines Elements zurückzugeben. Das ist schneller, weil direkt vom Browser geliefert, verhindert aber die neue Prüfung.

	if (el.textContent) return el.textContent; // not needed but it is faster
	if (el.innerText) return el.innerText; // IE doesn't have textContent

Außerdem sind die ersten beiden if-Abfragen zusammengewachsen.


/* Ersetzt ts_getInnerText aus wikibits.js; Sortierung mit Neuentwurf von Vorlage:SortKey ermöglichen */
function ts_getInnerText(el) {
	if (typeof el == "string" || typeof el == "undefined") return el;
	if (el.className == "sortkey" && el.title) return el.title;
	var str = "";
 
	var cs = el.childNodes;
	var l = cs.length;
	for (var i = 0; i < l; i++) {
		switch (cs[i].nodeType) {
			case 1: //ELEMENT_NODE
				str += ts_getInnerText(cs[i]);
				break;
			case 3:	//TEXT_NODE
				str += cs[i].nodeValue;
				break;
		}
	}
	return str;
}

Beispiel

Bearbeiten
SortKey (2 Parameter) SortKey (1 Parameter) SortKeyName Nts Dts
Peter Ambrozy Peter Ambrozy Peter Ambrozy 1 m 11. September 2001
Gebhard Arbeiter Gebhard Arbeiter Gebhard Arbeiter 12 m 6. Juni 666
Nicole Cernic Nicole Cernic Nicole Cernic 123 m 1. Februar 1980
Walter Ebner Walter Ebner Walter Ebner 1.234 m 1. Januar 2000
Johann Ferlitsch Johann Ferlitsch Johann Ferlitsch 12.345 m 14. Januar 1998