当我使用 console.log(currentIndex) 时,NaN 就出现了。我应该怎么办?我无法获得有关数据索引的任何修复。我什至可以为此使用数据索引吗?$(".element").mouseover(()=> { var currentIndex = parseInt($(this).data('index')); console.log(currentIndex);});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><i class="element" data-index="0">0</i><i class="element" data-index="1">1</i><i class="element" data-index="2">2</i><i class="element" data-index="3">3</i><i class="element" data-index="4">4</i>
2 回答
12345678_0001
TA贡献1802条经验 获得超5个赞
这不是你所期望的。
当你使用粗箭头函数时,() => {}你说“this”不应该切换到你的本地上下文中。通过使用经典function样式,您可以设置this为预期的元素并且它可以工作。
$(".element").mouseover(function() {
var currentIndex = parseInt($(this).data('index'));
console.log(currentIndex);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<i class="element" data-index="0">0</i>
<i class="element" data-index="1">1</i>
<i class="element" data-index="2">2</i>
<i class="element" data-index="3">3</i>
<i class="element" data-index="4">4</i>
杨__羊羊
TA贡献1943条经验 获得超7个赞
$(".element").mouseover((e) => {
var currentIndex = parseInt($(e.target).data('index'));
console.log(currentIndex);
});
添加回答
举报
0/150
提交
取消