jQuery循环遍历页面上的多个项目

时间:2013-04-03 10:29:38

标签: jquery

所以我根据隐藏输入内部的时间在表格中运行倒计时脚本。

每个输入的个人ID为“id =”time_x“,其中x从1开始增加。

然后每个on将计时器运行到div。

我的问题是如何循环并选择输入列表,以便每个输入都能够将id提供给调用计时器的jquery函数。

例如

<input ..... id="time_1" value="1000"/>
<input ..... id="time_2" value="2000" />

如何选择所有输入,获取值,然后将其传递给正确的div。

由于

5 个答案:

答案 0 :(得分:2)

为每个元素使用一个新的元素类:

<input class="item" id="time_1" value="1000"/>
<input class="item" id="time_2" value="2000"/>
<input class="item" id="time_3" value="3000"/>

$.each($('.item'),function(){
 console.log($(this).attr('id')); 
});

或者如果你想捕获输入值更容易:

$.each($('.item'),function(){
     console.log($(this).attr("value"));
    });

答案 1 :(得分:2)

试试这个

$('input').each(function(v,i){
    console.log($(this).attr('id'));
});

注意:这将循环遍历所有输入中的所有输入..最好为所有要循环的输入提供类并获取其ID

答案 2 :(得分:1)

您可以使用$('[id^=time_]')

中所述的.each()选择具有该表单ID的所有输入

您可以使用this调用这些函数,然后您可以使用循环内部的{{1}}获取当前ID的ID。

有关更具体的答案,您可能需要提出更具体的问题。

答案 3 :(得分:1)

非jQuery解决方案:

var inputs = document.getElementsByTagName('input'),
id;

for (var i = 0; i < inputs.length; ++i) {
    id = inputs[i].id;

    if (id.indexOf('time_') == 0) {
        id = id.substr(5);
        // do stuff with id and inputs[i].value
    }
}

答案 4 :(得分:1)

使用“开始于”选择器:

$('input[id^="time"]').each(function() {
   var value = $(this).val(); //get value

   //now get right div and inject value
   $(this).next('div').text(value);       
});