javascript - 对多个 id 使用相同的 javascript 操作仅索引号不同

标签 javascript

我有一个函数可以将两个 id-s 相乘并将其写入第三个 id。我必须为所有 id 制作它。

到目前为止我写了这个并且它正在工作,但最后会很长。

function () {
    var me1 = parseInt($('#me1').text());
    var ar1 = parseInt($('#td1').text());
    var sum1 = me1 * ar1;
    $('#re1').text(sum1);
    var me2 = parseInt($('#me2').text());
    var ar2 = parseInt($('#td2').text());
    var sum2 = me2 * ar2;
    $('#re2').text(sum2);
    var me3 = parseInt($('#me3').text());
    var ar3 = parseInt($('#td3').text());
    var sum3 = me3 * ar3;
    $('#re3').text(sum3);
}

我正在寻找一种解决方案,我可以在其中执行与上述代码相同的操作。我在想能不能把id里面的数字改成数组,但是不行。看这里:

function () {
    var idnum = ["1", "2", "3"];
    var me = parseInt($('#me' + idnum).text());
    var ar = parseInt($('#td' + idnum).text());
    var sum = me * ar;
    $('#re' + idnum).text(sum);
}

最佳答案

像这样循环

function () {
    var idnum = ["1", "2", "3"];
    for(var i=0; i<idnum.length;i++){
        var me = parseInt($('#me' + idnum[i]).text());
        var ar = parseInt($('#td' + idnum[i]).text());
        var sum = me * ar;
        $('#re' + idnum[i]).text(sum);
    }
}

此外,如果数字总是按顺序排列,您可以去掉 idnum 数组,只声明元素的总数,例如

function () {
    var total = 4; // total number of elements + 1
    for(var i=1; i<total;i++){
        var me = parseInt($('#me' + i).text());
        var ar = parseInt($('#td' + i).text());
        var sum = me * ar;
        $('#re' + i).text(sum);
    }
}

关于javascript - 对多个 id 使用相同的 javascript 操作仅索引号不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32268503/

相关文章:

Javascript 随机报价生成器 - 如何在页面首次加载时显示报价

javascript - 更新 Bootstrap slider 的刻度值

javascript - IE8无法在for循环中访问对象属性

javascript - 更改 window.location.ancestorOrigins

javascript - 如何使用javascript和ajax调用为文件上传添加进度条?

javascript - JSFiddle 对象排序算法崩溃

使用 innerHTML 时 JavaScript 不工作

javascript - 使用 Jscript 在 Jw Player 中重新播放高清视频文件

javascript - Ajax 简单示例不起作用

javascript - 如何使用JS检测固定宽度div末尾的一行中的单词 "orphaned"?