小编Adn*_*ala的帖子

需要仅重置Javascript数组的索引

我有一个返回数组的for循环:return

1st loop:
arr[0]
arr[1]
arr[2]
arr[3]
Run Code Online (Sandbox Code Playgroud)

返回

2nd loop
arr[4]
arr[5]
arr[6]
arr[7] 
arr[8] 
Run Code Online (Sandbox Code Playgroud)

我得到的长度是9.返回

我想要的是索引的实际数量,即我需要它为5.我怎么能这样做...当有一种方法,当我每次进入每个循环时,它从0开始,以便我得到所有的适当长度循环?

javascript arrays indexing indexof

7
推荐指数
2
解决办法
1万
查看次数

动态绑定onclick事件为for循环中的所有按钮提供相同的值

我正在尝试动态创建按钮并在点击事件中为每个按钮提供警报功能.这里的javascript函数为:

function GetTabs(tabObj) {
   for (var t = 0; t < tabObj.views.view.length; t++) {               
        var podObjlen = '';
        var element = document.createElement('input');
        element.id = "btn" + t;
        element.setAttribute("type", "button");
        element.setAttribute("value", "Click");
        element.setAttribute("name", "button");
        podObjlen = tabObj.views.view[t].pod.length;
        document.body.appendChild(element);
        document.getElementById('btn' + t).onclick = (this, "onclick", function {
           alert(podObjlen);                    
        });                
    }
}
Run Code Online (Sandbox Code Playgroud)

无论我点击什么按钮,警报总是向我显示所有按钮的循环中的最后一个值,即长度值被分配给所有警报.它没有为按钮的每个警报分配独立值.我尝试了几种方法:

element.getElementById('btn' + t).onclick = (this, "onclick", function {
    alert(podObjlen);                    
}); 
element.getElementById('btn' + t).onclick = new function () {
    alert(podObjlen);
}
Run Code Online (Sandbox Code Playgroud)

(这里它显示了我在警告框中的正确值,但我一个接一个地得到警报,但当我实际点击一个按钮时警报无法触发,即警报触发我的按钮被渲染的那一刻.希望我很清楚.我想要什么我是否需要在循环运行时获取实际值以确定每个按钮的警报.

html javascript jquery dynamic button

1
推荐指数
1
解决办法
2577
查看次数

标签 统计

javascript ×2

arrays ×1

button ×1

dynamic ×1

html ×1

indexing ×1

indexof ×1

jquery ×1