2017-05-21 64 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; 

這個(如果你想改變值屬性):

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

這個(如果你想改變/設置數據值屬性):

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

使用的setAttribute來代替:

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

.data-value是不是合法的JavaScript屬性名稱,因爲連字符,在任何情況下用戶指定的DOM 一屬性不會自動鏡像到屬性。因此

正確的方法是:

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

[一種<input>元素的value屬性和.value屬性鏡像,但在這種情況下,你正在使用不具有這樣的屬性/特性的<h2>元件] 。

但是,如果你實際上意味着使用HTML5屬性data-value那麼正確的用法是:

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