gpt4 book ai didi

javascript - 如何在箭头函数中使用 'this' 来引用被单击的元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:58:37 25 4
gpt4 key购买 nike

<分区>

HTML

<div class="sym-box" data-card="0">
<div id="a"><img src="..."></div>
</div>
<div class="sym-box" data-card="1">
<div id="b"><img src="..."></div>
</div>
<div class="sym-box" data-card="2">
<div id="c"><img src="..."></div>
</div>

JS

var attribute;

function myFunction() {
attribute = this.getAttribute('data-card');
}

var symboxes = document.getElementsByClassName('sym-box');

for (i = 0; i < symboxes.length; i++) {
symboxes[i].addEventListener('click', myFunction, false);
}

上面的代码按预期工作,“this”引用了被点击的元素。但是,当我将它写成箭头函数时,我得到“未捕获的类型错误:this.getAttribute 不是函数”,因为“this”现在指的是窗口对象。

const myFunction = () => {
attribute = this.getAttribute('data-card');
};

所以我的问题是如何将 myFunction() 重写为箭头函数,其中“this”指的是被点击的元素?

注意:我的问题已被标记为重复问题,但我要求在使用箭头函数时解决同样的问题。只是被告知“你不能”或“不要”并没有回答我的问题。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com