亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將EventListener添加到querySelectorAll并在觸發時獲取元素索引?

如何將EventListener添加到querySelectorAll并在觸發時獲取元素索引?

海綿寶寶撒 2023-09-28 15:32:01
我正在站點菜單中制作背景選擇器,當用戶單擊規范時,它將更改背景圖像。圖像(觸發單選按鈕)。我想使用 querySelectorAll(".selected") 來執行此操作,循環它并設置 addEventListener(click, ..) 獲取索引(或 id, value)并使用 background_list 數組設置 backgroundImage 。var background_list = ["/images/air-balloon.jpg","/images/mary-christmas.jpg","/images/mountain.jpg","/images/panorama.jpg","/images/plants.jpg","/images/sunset-mountain.jpg","/images/underwater-star.jpg","/images/vinyl-player.jpg"...]<div class="dropdown-background-container">    <div>        <input                              type="radio"            id="image-1"            class="select"            value="1"        >        <label for="image-1">            <img src="/images/air-balloon-small.jpg" alt="Air Balloons">        </label>    </div>    <div>        <input            type="radio"            id="image-2"            class="select"            value="2"        >        <label for="image-2">            <img src="/images/mary-christmas-small.jpg" alt="Mary Christmas">        </label>    </div>例如我有幾十張圖像document.querySelectorAll(".select").forEach( item => {      item.addEventListener('click', arrow => {      document.body.style.backgroundImage = `url("${background_list[index]}")`    })})有沒有辦法找到觸發的索引(id或值)?您將如何為此實現代碼,最簡單的解決方案是什么?我是 JS 初學者
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

在使用這些數組迭代函數時,您可以通過添加額外的參數來查找數組中元素的索引(索引是 forEach 的第二個參數):


document.querySelectorAll(".select").forEach((item, index) => { // here

      item.addEventListener('click', arrow => {

      document.body.style.backgroundImage = `url("${background_list[index]}")`

})})


查看完整回答
反對 回復 2023-09-28
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號