1

我有一个如下所示的 JavaScript 函数:

function recalculateWhatIfCurrentRate(aEle, aChangedLabel, recordID, yearEndCurrentRate) {
    var rate = document.getElementById(aEle).value;
    document.getElementById(aChangedLabel).value = yearEndCurrentRate * (1 + rate);
}

aEle = ctl00_cpMain_tbCurrentRatePercentIncrease_131578
aChangedLabel = ctl00_cpMain_lblScrollCurrentRate_131578
recordId = 131578
yearEndCurrentRate = 100.65

我想更改aChangedLabel.

为什么它在 DOM 中没有改变?

4

3 回答 3

2

<label>元素没有value属性,它们是标准容器元素。他们的文本内容将在他们的孩子(或后代)中表示为 TextNodes。

于 2012-06-21T21:01:15.383 回答
1

标签标签没有 value 属性,需要设置 innerHTML 来改变文本。

于 2012-06-21T21:03:35.913 回答
0

默认情况下,从 DOM 中提取的值是字符串。这可能在计算中失败,因为你不能用字符串做数学运算。

尝试将值转换为数字:

var rate = parseFloat(document.getElementById(aEle).value);
于 2012-06-21T21:01:33.790 回答