我有以下情况:
var totalWidth = 0;
$('.myclass').each(function () {
totalWidth += $(this).width();
});
现在,在完成此操作后,我想对每个$('.myclass')
个元素执行另一个操作,例如
$('.myclass').each(function() {
// use computed totalWidth for something else
});
我该怎么做?选择元素的第二次尝试不会产生一些问题吗?
答案 0 :(得分:0)
不,再次选择元素不会产生任何问题,尽管它会花费一些不必要的时间来搜索您已经找到的元素。您可以通过使用链式.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
});