Benutzer:Dapete/SortKey/Beispiel
Zur Navigation springen
Zur Suche springen
Überschreiben der Funktion ts_getInnerText aus wikibits.js
[Bearbeiten | Quelltext 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 | Quelltext 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 |