關于index 和重復for循環的代替問題還有背景設置能不能統一?下有完整截圖(灰色框)
問題1* 錯誤寫法: as.style.backgroundColor="#fff";? 這樣統一把a標簽設置背景顏色為啥不行?這樣寫又有效果好奇怪 for(var i=0; i<as.length; i++){
??????????? as[i].style.backgroundColor="#fff";
????????????? }
? 問2: title.innerHTML = as[index].innerHTML;? 里as[index]呆表什么?沒看見申明為啥也有效果
問3:keyup事件的38 , 40,13里每個里面都有設置背景顏色,要循環一遍,能有更好的辦法優化嗎?謝謝回答
2017-11-03
as是個數組,也就是對象,不能確定到具體元素上,給一個對象設置背景色顯然是不成立的,而as[i]已經具體到了某個變量,這個變量所表示的就是某個具體的元素,給某個元素設置背景色是合理的
2017-11-02
????as取到的是一個數組,給一個數組添加背景色是行不通的
而as[i]代表的確實具體的元素,這樣自然就可以加上背景色了
? ? index在這里帶表的是索引,按下鍵盤上下會隨之進行減加;也就代表了所選中的li,在代碼中也有聲明,在最開始的地方
? ? 循環的部分可以封裝起來,用的時候只需要調用就好了
優化部分
? ? ?個人認為在設置背景顏色時可以在css中設置一個激活狀態的樣式,當某個li被激活(也就是處于被選中狀態)的時候添加這個激活狀態樣式的class,然后在每次執行鍵盤上下鍵之前清空所有li的class就好了,這樣就不會顯得麻煩每次都要設置背景顏色