2017-05-21 5 views
0

Ich versuche, den Wert der Daten-Wert für das folgende Stück Code zu ändern:ändern Wert von id Ausgabe

<div class="media-body"> 
    <small>Total MA'ers found</small> 
    <h2 id="totalma" class="media-heading animate-number" value="29" data-animation-duration="1500">0</h2> 
</div> 

ich versucht habe:

document.getElementById('totalma').data-value = 90; 

, die den Fehler zurückgibt: Reference : ungültige Zuordnung der linken Seite

+0

'document.getElementById ('totalma') dataset.value = 90;' 'gesetzt Daten- Wert = "90" ' – wostex

+0

ist es" Wert "oder" Datenwert "? Dein HTML sagt Ersteres, aber die Frage sagt Letzteres. – Alnitak

Antwort

5

Versuchen Sie, diese zu ändern:

document.getElementById('totalma').data-value = 90; 

auf diese (wenn Sie möchten Wert Attribut ändern):

document.getElementById('totalma').setAttribute('value', 90); 

auf diese (wenn Sie wollen Attribut ändern/set Datenwert):

document.getElementById('totalma').setAttribute('data-value', 90); 
0

Verwenden setAttribute statt:

document.getElementById('totalma').setAttribute("value", 90); 
1

.data-value ist kein offizieller Name JavaScript-Eigenschaft wegen der Bindestrich, und auf jeden Fall Benutzer angegebenen DOM ein ttributes werden nicht automatisch in Eigenschaften gespiegelt.

Die richtige Methode ist daher:

document.getElementById('totalma').setAttribute('value', 90); 

[An <input> des Elements value Attribut und .value Eigenschaft sind gespiegelt, aber in diesem Fall, dass Sie verwenden ein <h2> Element, das kein solches Attribut/Eigenschaft hat] .

Wenn Sie jedoch tatsächlich die HTML5 data-value zu verwenden, bedeutete Attribut dann wäre die korrekte Verwendung sein.

document.getElementById('totalma').dataset.value = 90;