JavaScript 中的 'this' 关键字

'this' keyword in javascript

本文关键字:关键字 this 中的 JavaScript      更新时间:2023-09-26

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

$('.packages').each(function(){
    var sizeOfLi = $(".packages:last > li").width();
});
var sizeOfAllLi = $(".packages:last > li").map(function() {
  return $(this).width();
});

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

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

each答案很好,或者您可以使用map

var liSizeArray = $(".packages:last > li").map(function() {
    return $(this).width();
}).get();

返回值将是一个数字数组,即各个li元素的宽度。

$(".packages:last > li").each(function() {
   console.log($(this).width())
});

始终适用于jQuery中的事件处理程序,它是函数的,,main''选择器。

取决于你想做什么

如果要在选择时获取li的宽度:

$(".packages:last > li").click(function(){
  sizeOfLi = $(this).width();
});

地图所有 li 大小都按照阿马丹说的做

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

在这种情况下,this关键字是指当前的 li