Firefox显示[object HTMLDivElement]而不是JS计算的值

时间:2015-11-10 15:33:38

标签: javascript object dom

以下脚本应计算已保存的金额。 在每种类型的浏览器中它的工作(IE,Chrome,Opera)但不是FF。 它显示了[object HTMLDivElement]而不是计算出的值。

  var betragsec = ({input:loszahlen}*.25)/31536000;
    var amount = document.getElementById("amount");
    var now = new Date();
    var start = new Date("Januar 01, 2015, 00:00:00");
    var diff = (now - start)/1000;
    var current =(diff*betragsec);
    update();
    function update() {
        amount.innerText = formatMoney(current);
    }
    setInterval(function(){
        current += betragsec;
        update();
        },1000);
    function formatMoney(amount) {
        var euros = Math.floor(amount).toString().split('');
        var cents = (Math.round((amount%1)*100)/100).toString().split('.')[1];
        if(typeof cents == 'undefined'){
            cents = '00';
        }else if(cents.length == 1){
            cents = cents + '0';
        }
        var str = '';
        for(i=euros.length-1; i>=0; i--){
            str += euros.splice(0,1);
            if(i%3 == 0 && i != 0) str += '.';
        }
        return  str + ',' + cents + ' ' + '\u20AC';

1 个答案:

答案 0 :(得分:1)

这是因为FF使用.textContent属性,这是W3C兼容。

您可以使用textContentinnerHTML让此代码跨浏览器工作

amount.textContent = formatMoney(current);
// OR
amount.innerHTML = formatMoney(current);

这个问题可以重复  : 'innerText' works in IE, but not in Firefox