操作一组元素 点击的时候 让当前的点击对象对应的 input 的value累加 累加的值被保存下了 怎么 搞定他

window.onload=function () {
            var oIn1=document.getElementsByClassName('in1');
            var oIn2=document.getElementsByClassName('in2');
            var oInp=document.getElementsByClassName('ino');
            var n=0;
            for(var i=0;i<oIn1.length;i++){
                oIn1[i].index=i;
                oIn1[i].onclick=function () {
                    n++;
                    for(var i=0;i<oIn1.length;i++){
                        oInp[i].value=1;
                    }
                    oInp[this.index].value=n;//n累加
                };

            }



        }

图片描述

阅读 2.4k
1 个回答

clipboard.png
你的题目描述的不是很清楚,根据我的理解编写了如图的代码。
没有用比较高级的方法,在你原来基础上改的。如果需要高级的方法,我再补充。

window.onload = function() {
    var oIn1 = document.getElementsByClassName('in1');
    var oIn2 = document.getElementsByClassName('in2');
    var oInp = document.getElementsByClassName('ino');
    for (var i = 0; i < oIn1.length; i++) {
        oIn1[i].index = oIn2[i].index = i;
        oIn1[i].onclick = function() {
            oInp[this.index].value = ++oInp[this.index].value; //n累加
            this.parentNode.getElementsByTagName('strong')[0].innerHTML = '¥' + this.parentNode.getElementsByTagName('span')[0].innerHTML.slice(1) * oInp[this.index].value
        };
        oIn2[i].onclick = function() {
            oInp[this.index].value = --oInp[this.index].value; //n累减
            this.parentNode.getElementsByTagName('strong')[0].innerHTML = '¥' + this.parentNode.getElementsByTagName('span')[0].innerHTML.slice(1) * oInp[this.index].value
        };
    }
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题