Dieser Code wählt den höchsten numerischen Wert zwischen den Daten-IDs und fügt einen Kalk-Hintergrund hinzu. Übrigens sind diese Zahlen Hexwerte. mein Problem ist, dass in Hex-Werten ist es die Frage der letzten 4 Werte, aber mein Code nimmt die ganzen Zeichen. Wie kann ich meinen Code nur für die letzten 4 Zeichen verwenden?Wie kann ich die letzten 4 Zeichen einer Zeichenkette mit JavaScript auswählen?
Es tut mir leid, das könnte leicht für Sie zu lösen, aber ich versuchte immer und immer wieder und konnte es nicht funktionieren.
Hex in dezimale:
dc61 = 56417
dc62 = 56418
dc63 = 56419
dc64 = 56420
maxData = $(".answers li[data-id]").get().reduce ((maxObj, crrntNode) => {
var idVal = parseInt ($(crrntNode).data("id"), 16) ;
if (idVal > maxObj.value) {
maxObj.value = idVal;
maxObj.node = crrntNode;
}
return maxObj;
},
{value: 0, node: null}
);
$("body").append (`<p>The highest data-id value was ${maxData.value}.</p>`)
$(maxData.node).css ("background", "lime");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="question-text" class="question sp-element border-radius active">What is favorite colour?</div>
<ul class="answers" id="answers">
<li data-id="58b9890062279282090ddc61" class="answer sp-element border-radius active">Purple</li>
<li data-id="58b9890062279282090ddc63" class="answer sp-element border-radius active">Blue</li>
<li data-id="58b9890062279282090ddc64" class="answer sp-element border-radius active">Yellow</li>
<li data-id="58b9890062279282090ddc62" class="answer sp-element border-radius active">Red</li>
</ul>
Ist das gewünschte Ergebnis anders als das, was diese vorherige SO Antwort liefert? https://stackoverflow.com/questions/5873810/how-can-i-get-last-characters-of-a-string-using-javascript – Magnus