javascript – jQuery的隐式循环“两种方式”?

原来jQuery的“隐式循环”是双向的:

    <div class="classOne">
        some content
    </div>

    <div class="classOne">
        some content 2
    </div>  

[...]

$(function() { $('hello world').prependTo($('.classOne')); })

在这种情况下,循环将发生在$(‘.classOne’)部分 – hello world将被添加到两个Div.

我也试过了

    <div class="classOne">
        some content
    </div>

    <div class="classOne">
        some content 2
    </div>  

    <div class="classTwo">
        <a href="http://www.google.com">hello Google</a>
    </div>

    <div class="classTwo">
        <a href="http://www.yahoo.com">hello Yahoo</a>
    </div>  

[...]

$(function() { $('.classTwo').prependTo($('.classOne')); })

并且会有“嵌套循环”…所以2个链接将被添加到两个Div

所以我想如果我们有

$('.classOne').prepend($('.classTwo')).prepend($('.classThree'))

然后它会像3个嵌套循环?嵌套是否有规则,哪一个是内循环,哪一个是外循环?什么是内环/外环如果是的话

$('.classOne').prependTo($('.classTwo')).prependTo($('.classThree'))

最佳答案
.prependTo()的每个前任都将附加到传入in,
you can see the actual jQuery core code here的每个项目.由于您将jQuery对象传递给.prependTo(),它将查看每个元素并添加每个对象的克隆版本在前面的链中.

所以每个.prependTo() =一个for循环(当传递jQuery对象时),但它们不是嵌套的.一个的结果只是传递给下一个,但它是一个获取元素的数组,你可以使用.end()返回前一个数组.

如果这不是一个清晰的解释,我很抱歉,我发现用链接思考它有点奇怪…但是如果你能指出任何问题,我会尝试更新以解决任何困惑/部分 – 我特别是.

点赞