通过id问题更改值

时间:2017-05-21 19:17:59

标签: javascript html

我正在尝试更改以下代码的数据值:

<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:左侧无效分配

3 个答案:

答案 0 :(得分:6)

尝试更改此内容:

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

到此(如果你想改变value属性):

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

到此(如果要更改/设置数据值属性):

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

答案 1 :(得分:1)

由于连字符,

.data-value不是合法的JavaScript属性名称,并且在任何情况下,用户指定的DOM 属性都不会自动镜像到属性

因此,正确的方法是:

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

{<input>元素的value属性和.value属性镜像的,但在这种情况下,您使用的是<h2>元素没有这样的属性/属性]。

但是,如果您实际上打算使用HTML5属性data-value,那么正确的用法是:

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

答案 2 :(得分:0)

改为使用setAttribute:

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