OK, wie ich vermutet hatte, da gibt es ein <span> in der Tabellenzelle für die Formatierung.
Ich habe das mal so umgestellt:
<table>
<tr>
<!-- Eventhandler fuer Klick der Tabellenzelle hinzu fuegen: -->
<td onclick="convertSpeed(this, true);">
<span style="font-size:100px" id="tempPos1"></span> km/h
</td>
</tr>
</table>
<script>
function convertSpeed(
cell, // Die Tabellenzelle (DOM-Element)
switchIt // Gibt an, ob umgeschaltet werden soll
) {
// Der Faktor fuer die Umrechnung nach Knoten:
const factorToKn = 0.539957;
// Aktuellen Inhalt der Zelle auslesen:
const val = parseInt(cell.textContent);
// Wenn noch nicht geschehen: Den Wert fuer km/h
// speichern:
if (!cell.dataset.kmph) {
cell.dataset.kmph = val;
}
if (switchIt) {
// Klasse umschalten:
cell.classList.toggle('knoten');
}
// Die Klasse "knoten" gibt an, ob der Inhalt
// in Knoten ist (wenn Klasse gesetzt)
// oder km/h (wenn Klasse nicht gesetzt.
// Entsprechend die Umrechnung durchfuehren:
let value, unit;
if (cell.classList.contains('knoten')) {
value = cell.dataset.kmph * factorToKn;
unit = 'kn';
} else {
value = cell.dataset.kmph;
unit = 'km/h';
}
const html = `<span style=font-size:100px id="tempPos1">${value}</span> ${unit}`;
cell.innerHTML = html;
}
</script>
Alles anzeigen
Soweit getestet und funktioniert.
Beim Update musst Du dann nur das DOM-Element der Tabellenzelle und false übergeben:
$(
function dyngps()
{
var updated_data_gps = $.get('/update_gps');
updated_data_gps.done(function(results){
$("#tempPos1").text(results.results[0]);
$("#tempPos2").text(results.results[1]);
$("#tempPos3").text(results.results[2]);
convertSpeed($("#tempPos1")[0], false);
setTimeout(function(){dyngps();},200);
});
}
);
Alles anzeigen
Dieses nicht getestet, wenn es nicht funktioniert, versuche den Fehler zu finden und melde dich, wenn es nicht gelingt.