这些是我在循环时用来声明 jquery 对象的一些基本方法:
let $divs = $('.mydiv');
for (let i = 0; i < $divs.length; i++) {
let $div = $($divs[i]);
}
// or
for (let $div of Array.from($divs)) {
$div = $($div);
}
// or
Array.from($divs).forEach(function ($div) {
$div = $($div);
});
我想保存行 $div = $($div)
(以便更快地编写代码),如下所示:
for (let $($div) of Array.from($divs)) {
// ...
}
// or
Array.from($divs).forEach(function ($div = $($div)) {
// ...
});
有办法实现我的目标吗?
更新:
因为 $('.mydiv')
可以返回超过 1 个元素,所以我需要一个循环来处理它们。但是使用循环,它不会为每个元素返回一个 jquery 对象,我必须用 $(...)
最佳答案
并不是真正问题的答案
有了一个由 $
包裹的元素数组之后,您打算用它做什么?
$('.mydiv') // = $-wrapped html collection
.map((_, e) => $(e)) // = array of $-wrapped elements
.each((_, e) => console.log(e)) // = log each $-wrapped element
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mydiv">1</div>
<div class="mydiv">2</div>
<div class="mydiv">3</div>
这实际上与下面的脚本没有什么不同,那么有什么意义呢?
$('.mydiv') // = $-wrapped html collection
.each((_, e) => console.log($(e))) // = log each $-wrapped element
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mydiv">1</div>
<div class="mydiv">2</div>
<div class="mydiv">3</div>
关于javascript - 循环遍历 jquery 对象的惰性语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43673005/