2

我需要在 JQuery 中从 0 循环到变量值(由用户动态输入)。我怎样才能做到这一点?现在我通过使用像这样的简单 For 循环来做到这一点。

for( i=1; i<=fetch; i++) {  
   var dyndivtext = document.createElement("input");
   document.body.appendChild(dyndivtext); 
}

谢谢。

4

5 回答 5

1

要在两个值之间循环,您应该使用常规的 Javascript 循环。each循环遍历元素集合或数组时使用jQuery方法。

要从零开始循环,您应该将循环变量初始化为零,而不是一。要从零循环到指定值,请使用<=for 比较,但要从零和指定的项目数(即从 0 到 value-1)循环,则使用<运算符。

for (i = 0; i < fetch; i++) {
  $('body').append($('<input/>', { type: 'text' }));
}
于 2012-08-24T08:15:52.237 回答
1

您可以循环一个空数组:

$.each(new Array(fetch), function(i) { 
   var dyndivtext = document.createElement("input");
   document.body.appendChild(dyndivtext); 
});

如果你经常这样做,你甚至可以伪造补丁jQuery.each来获取数字:

(function($) {
    var _each = $.each;
    $.each = function() {
        var args = $.makeArray(arguments);
        if ( args.length == 2 && typeof args[0] == 'number') {
            return _each.call(this, new Array(args[0]), args[1]);
        }
        return _each.call(this, args);
    };
}(jQuery));​

$.each(fetch, function(i) {
    // loop
});

jQuery.each确实有一些很棒的功能,比如回调中的不同返回值。但是对于一个简单的循环,我发现执行以下操作更方便(并且开销更少):

while(fetch--) {
    // loop
}​
于 2012-08-24T08:18:20.013 回答
1

你的意思是Javascript循环。来自 W3Schools:

for (var variable = startvalue; variable < endvalue; variable = variable + increment)
{
      //code to be executed
}
于 2012-08-24T08:10:23.840 回答
0

要从用户获取值并运行代码,您可以使用以下提示。

var x=prompt("Enter the value",0);
for(i=0;i<x;i++)
{
  var dyndivtext = document.createElement("input");
  document.body.appendChild(dyndivtext);
}

希望这可以帮助。

谢谢

于 2012-08-24T08:13:36.043 回答
0

如果您想要完整的 jQuery 方式,请使用新插件 jQuery-timing。它在您的 jQuery 行中提供内联循环:

$('body').repeat().append('<input>').until(fetch);

不错,嗯?

于 2012-08-26T21:07:11.417 回答