DIEA
2021-03-30 13:19:20
我正在嘗試創建一個交互式的小畫廊,人們可以在其中查看/選擇一些圖片。我用了一些來包含圖片,并在其中添加了一些來表示所選的照片。然后,我輸入了一些JS代碼,以使用的className檢查或取消選中照片。所以我的兩個問題是:該代碼未按預期運行。當我在導航器中跑動時,無法選擇任何圖片??刂婆_僅返回“未定義”,如下面的代碼中所述。這是一些代碼:這是我在JS中的第一次嘗試,我真的不明白什么是行不通的,所以我希望您能得到答案或至少對我有一些提示。:)
3 回答

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
如前面的答案中所述,getElementsByClassName方法返回具有您傳遞給該方法的類名稱的元素的HTMLCollection。如果您需要訪問任何項,則需要像數組一樣進行操作。
例如,獲取集合的第一個元素。
unselectedClass[0].className;
否則,您可以使用for循環來訪問集合中的每個元素。
for (var i = 0; i < unselectedClass.length; i++) {
var class = unselectedClass[i].className;
}

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
問題是document.getElementsByClassName返回HTMLCollection和HTMLCollection。您應該檢查className其元素。
您可以遍歷它,然后獲取className每個元素
for(let i = 0;i<unslectedClass.length;i++){
console.log(unselectedClass[i].className);
}
或HTMLCollection使用Spread Operator將轉換為實數組并使用forEach()
[...unselectedClass].forEach(x => console.log(x.className))
添加回答
舉報
0/150
提交
取消