Dies ist nur eine Übung, an die ich beim Spielen mit jsFiddle gedacht habe.Wie man den Inhalt eines Elements auf den Wert seines Attributs mit jQuery setzt
Da Elemente mit einem Datenattribut:
<div data-test-id="3214581">Loading...</div> <div data-test-id="6584634">Loading...</div>
Ich möchte den Textinhalt setzen von Funktion mit dieser ID, so zu führen, dass die endgültige DOM ist:
<div data-test-id="3214581">John, Smith</div>
Bisher konnte ich das gegebene Element finden und irgendwie kann ich mich nicht auf das Element beziehen, das this
Schlüsselwort verwendet, um seine testId zu erhalten:
$('div[data-test-id]').text(getPersonName($(this).data('testId')))
getPersonName() gibt „John Smith“
denke ich, es so einfach sein sollte, haben aber keine sich selbst verweis Beispiel wie diese auf Stapel oder jQuery docs gefunden.
EDIT: Fester Element, um mehrere divs, nicht nur eine zu zeigen. (d. h. die ID ist nicht bekannt und sollte nicht im Selektor sein). Behebt die Auswahl, um einzelne Anführungszeichen zu haben.
Ihre Erwartung spiegelt ein grundlegendes Missverständnis über [wie 'this' Arbeiten ermöglichen soll ] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/this). – nnnnnn
Es scheint, dass Ihre Selektoren nicht korrekt sind. Der Selektor ist ein String: '$ ('div [data-test-id]') '.... –
Sie können die' each' Funktion - '$ (div [data-test-id]) verwenden. function() {$ (this) .text (getPersonName ($ (this) .data ('testId')));}); ' –