Javascript 如何使用jquery中的arrow函数获取元素的html

Javascript 如何使用jquery中的arrow函数获取元素的html,javascript,jquery,Javascript,Jquery,我们使用的语法需要使用箭头函数。我还在学习我们的软件,所以我无法回答为什么。问题是我不知道如何将function(){}回调转换为(e)=>回调,并且我尝试的解决方案不起作用 我已经阅读了关于.each()、.find()、.html()和$(this)与$(e.currentTarget)的所有文档和其他答案 JsFiddle: withThis按预期运行,但withArrow未按预期运行 预期结果:这两个函数都将标记的html更改为新内容。记录html标记内容时,两个函数都应打印到控制台 实

我们使用的语法需要使用箭头函数。我还在学习我们的软件,所以我无法回答为什么。问题是我不知道如何将function(){}回调转换为(e)=>回调,并且我尝试的解决方案不起作用

我已经阅读了关于.each()、.find()、.html()和$(this)与$(e.currentTarget)的所有文档和其他答案

JsFiddle:

withThis
按预期运行,但
withArrow
未按预期运行

预期结果:这两个函数都将标记的html更改为新内容。记录html标记内容时,两个函数都应打印到控制台


实际:只有第一个函数更改标记的内容。第一个函数向控制台打印正确的值,但第二个函数打印未定义的值。

箭头函数没有问题

您只是以错误的方式使用了该函数。您需要使用
来获取元素。正常函数没有此问题,因为您使用的是
,而不是回调参数

$.each([ 52, 97 ], function( index, value ) {
  alert( index + ": " + value );
});
已更正的代码段

//查找元素
var banner=$(“#banner消息”)
变量按钮=$(“按钮”)
var i=0;
$(文档).find(“p”).each(函数(){
$(this.html(i++);
//log($(this.html());
});
var j=10;
$(文档)。查找(“p”)。每个((i,e)=>{
$(e).html(j++);
//log($(e.html());
});
//句柄单击并添加类
按钮。打开(“单击”,函数(){
banner.addClass(“alt”)
带箭头();
})
正文{
背景:#20262E;
填充:20px;
字体系列:Helvetica;
}
#横幅信息{
背景:#fff;
边界半径:4px;
填充:20px;
字体大小:25px;
文本对齐:居中;
过渡:均为0.2s;
保证金:0自动;
宽度:300px;
}
钮扣{
背景:#0084ff;
边界:无;
边界半径:5px;
填充:8px 14px;
字体大小:15px;
颜色:#fff;
}
#banner-message.alt{
背景:#0084ff;
颜色:#fff;
边缘顶端:40px;
宽度:200px;
}
#banner-message.alt按钮{
背景:#fff;
颜色:#000;
}

试验

你好,世界

你好,世界

你好,世界

你好,世界

你好,世界

变色
Aha。看来我对这门语言还是很陌生的。非常感谢你。那么.currentTarget只用于事件处理程序是吗?是的,但您不需要它,因为
每个
都给您元素。
$.each([ 52, 97 ], function( index, value ) {
  alert( index + ": " + value );
});