javascript中的'this'关键字

Roh*_*til -1 html javascript jquery

如果我有多个.packages类,如何实现当前.packages的以下内容?

$('.packages').each(function(){
    var sizeOfLi = $(".packages:last > li").width();
});
Run Code Online (Sandbox Code Playgroud)

Ama*_*dan 8

var sizeOfAllLi = $(".packages:last > li").map(function() {
  return $(this).width();
});
Run Code Online (Sandbox Code Playgroud)

map函数遍历jQuery集合并调用参数中提供的函数,并this设置为当前元素.它将收集jQuery集合中所有返回值(请参阅注释).如果你想要一个数组,添加.get()到上面的结尾.

在函数内部,需要重新包装this为jQuery元素,因此我们可以使用jQuery .width(),因为它this是一个裸DOM元素.