我有以下情况:
var totalWidth = 0;
$('.myclass').each(function () {
totalWidth += $(this).width();
});
现在,完成此操作后,我想对每个单独的
$('.myclass')
元素执行另一个操作,例如$('.myclass').each(function() {
// use computed totalWidth for something else
});
我怎样才能做到这一点?选择元素的第二次尝试不会造成问题吗?
最佳答案
不,再次选择元素不会造成任何问题,尽管它确实花费了一些不必要的时间来搜索已找到的元素。您可以通过使用链接的.each
调用来防止这种情况,如下所示:
var totalWidth = 0;
$('.myclass').each(function() {
totalWidth += $(this).width();
}).each(function() {
// use computed totalWidth for something else
});
或者,如果您需要在两个循环之间执行一些中间操作,则可以将jQuery集合存储在一个变量中:
var totalWidth = 0;
var $myclass = $('.myclass').each(function() {
totalWidth += $(this).width();
});
// do other stuff
$myclass.each(function() {
// use computed totalWidth for something else
});
关于javascript - 如何使用jQuery对DOM元素执行重复的迭代操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42654486/