原来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()
返回前一个数组.
如果这不是一个清晰的解释,我很抱歉,我发现用链接思考它有点奇怪…但是如果你能指出任何问题,我会尝试更新以解决任何困惑/部分 – 我特别是.