我可以使用getElementById为元素设置两个不同的值吗?

时间:2015-11-17 09:02:28

标签: javascript getelementbyid

我不能在javascript文件中使用两次getElementById吗?我想要使​​用它两次因为,我想为具有该特定id的元素设置默认值,然后在调用函数时我需要更改默认值。我可以这样做吗? 看看我的代码:

function DefaultValue(){

    var default = 10.23
    var update = document.getElementById('idSpnRWA');
    update.innerHTML = default;

}
function setValue(){

    var set = 23.56;
    var finalUpdate = document.getElementById('idSpnRWA');
    finalUpdate.innerHTML = set;

}

我已经提供了一个非常基本的代码,让您了解这种方式是否可行?

5 个答案:

答案 0 :(得分:1)

简而言之:是的,您可以根据需要多次拨打getElementById

但请注意,default是JavaScript中的保留字。 此外,您忘记在每行后添加;

试试这个(请注意,我重命名了default变量,并在需要时添加了;

<强> HTML

<div id="idSpnRWA"></div>

<强>的JavaScript

function DefaultValue() {
    var dflt = 10.23;
    var update = document.getElementById('idSpnRWA');
    update.innerHTML = dflt;
}

function setValue() {
    var set = 23.56;
    var finalUpdate = document.getElementById('idSpnRWA');
    finalUpdate.innerHTML = set;
}

DefaultValue();
setValue();

工作小提琴: http://jsfiddle.net/9e75vnm3/

答案 1 :(得分:0)

您不能在页面上多次使用相同的HTML id属性,但只要不是undefined,您就可以获得任意数量的内容。当然,这意味着您可以根据需要多次拨打document.getElementById('idSpnRWA')。在分配给.innerHTML时,您需要将百分比放在引号中,因为%是模运算符。更好的是,使用HTML实体。 Element.innerHTML = '10&#046;23&#037';

答案 2 :(得分:0)

当然,您可以多次使用document.getElementById 但是具有特定ID的元素只能在您的页面上显示一次。

答案 3 :(得分:0)

是的,您可以根据需要多次使用getElementById。 您的代码中的问题是您将内部html添加为10.23%,这是不允许的。 '%'被视为模运算符。如果要以html格式显示,则必须将其连接为字符串

function DefaultValue() {
  var update = document.getElementById('idSpnRWA');
  update.innerHTML = 10.23 + '%';
}

function setValue() {
  var finalUpdate = document.getElementById('idSpnRWA');
  finalUpdate.innerHTML = 23.56 + '%';
}
DefaultValue();
<div id='idSpnRWA'></div>

答案 4 :(得分:0)

非常感谢你回答我的问题。我终于找到了解决方案。它是, update.value = default; finalUpdate.value = set;

innerHTML不能在那里使用。如果我使用.value,代码实际上工作正常。