jquery .each迭代

kor*_*lol 1 iteration jquery css-selectors

如果您有多个具有相同类名的(动态)文本框并使用jquery循环遍历每个所述文本框,您是否可以假设每次选择文本框的顺序是相同的?

例:

文本框1值= 1文本框2值= 2文本框3值= 3

$(".textboxes").each(function(){
     alert( $(this).val() );
});
Run Code Online (Sandbox Code Playgroud)

它是否总是每次都以相同的顺序打印这些值?

med*_*iev 8

循环从开始到结束开始,0到最大长度if> 0,因此如果你提供一个html选择器(它将按照它们在结构中定义的顺序拾取元素,它将始终以相同的顺序)/markup).

但是如果你直接给$ .each提供一个对象,因为没有标准的方式或规则来规定排序应该如何,通常它会按照我们所见的大多数解释器的顺序排列,但解释器不是'真的应该遵守这个"规则".

each: function( object, callback, args ) {
    var name, i = 0, length = object.length;

    if ( args ) {
        if ( length === undefined ) {
            for ( name in object )
                if ( callback.apply( object[ name ], args ) === false )
                    break;
        } else
            for ( ; i < length; )
                if ( callback.apply( object[ i++ ], args ) === false )
                    break;
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,第二个for循环是实际执行的循环.