2017-05-21 5 views
0

私は次のコードのためのデータ値の値を変更しようとしています:私は試してみました変更値

<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> 

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

エラーを返しますにReferenceErrorを:無効な代入左側

+0

'のdocument.getElementById( 'totalma')dataset.value = 90;' 'データ - を設定します。 value = "90" ' – wostex

+0

は' value'か 'data-value'ですか?あなたのHTMLは、前者を言いますが、質問は後者を言います。 – Alnitak

答えて

5

はこれを変更してみてください:

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

(あなたはvalue属性を変更する場合):代わりに

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

利用のsetAttribute:これまで

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

(あなたが設定/データ-value属性を変更する場合)

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

.data-value はDOM ため、ハイフンの法的JavaScriptのプロパティ名ではなく、任意のイベントのユーザに指定ttributesは、のプロパティに自動的にミラーリングされません。

正しい方法は、したがって、次のとおりです。

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

[<input>要素のvalue属性と.valueプロパティがミラーリングされているが、この場合には、あなたがそのような属性/プロパティを持っていない<h2>要素を使用しています] 。

しかし、あなたが実際に正しい使い方は次のようになりHTML5属性data-valueを使用することを意図している場合:

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