gpt4 book ai didi

javascript - 如何解决 Javascript map 循环不适用于每个 div 标签?

转载 作者:行者123 更新时间:2023-11-28 16:50:40 25 4
gpt4 key购买 nike

有时我遇到这个问题,为什么 map 循环不工作,我仍然没有得到解决方案。


let slide = document.querySelectorAll('.slide');

//not working below
slide.map((s)=> s.onmousedown = slideFunction);

function slideFunction(){
alert('HI')
}

// working below
let num = [3,2,5,2];
num.map((n)=> alert(num));


map 循环不工作每张幻灯片,但数字值数组工作。

最佳答案

几个问题:

  • 为此,您不应使用 map(),而应使用 forEach()
  • document.querySelectorAll() 函数返回 NodeList ,不是数组。您需要将其转换为数组才能对其调用 map() 等数组函数。
    但是NodeList 确实提供了 forEach()函数,因此您可以直接在 document.querySelectorAll() 的结果上调用该函数。

let slides = document.querySelectorAll('.slide');

slides.forEach((s) => s.onmousedown = slideFunction);

function slideFunction() {
alert('Hi')
}
<div class="slide">Slide one</div>
<div class="slide">Slide two</div>

附加事件处理程序而不是直接分配事件处理程序可能也更干净。

关于javascript - 如何解决 Javascript map 循环不适用于每个 div 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59998288/

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