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

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

將多個列表合并在一起并為搜索欄提供建議

將多個列表合并在一起并為搜索欄提供建議

桃花長相依 2023-07-14 10:42:43
我想將多個列表合并在一起,然后將它們作為輸入字段的建議。我有一個針對一個列表的解決方案,但我無法讓它與多個列表一起使用。我獲取一個節點列表并將其轉換為 HTMLUList 元素數組。我想我需要一個大的 HTMLUlist ?!感謝您的幫助,我希望您理解我的問題。 let filter = this.value.toUpperCase();  ul = document.getElementById("myUL");  li = ul.getElementsByTagName('li');    for (i = 0; i < li.length; i++) {    a = li[i].getElementsByTagName("a")[0];    txtValue = a.textContent || a.innerText;    if (txtValue.toUpperCase().indexOf(filter) > -1) {      li[i].style.display = "";    } else {      li[i].style.display = "none";    }  }  // This works for one list "myUL"  //-------------------------------------------------  //This does not work     let filter = this.value.toUpperCase();  ul = document.querySelectorAll (" #myUL , #myUL2 , #myUL3, #myUL4 , #myUL5 , #myUL6 ");  var inputList = Array.prototype.slice.call(ul);  li = inputList.getElementsByTagName('li'); 
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

雖然你的方法對我來說似乎不太有效,但你可以通過循環 ul 元素來實現:


let filter = this.value.toUpperCase();

let uls = document.querySelectorAll('#myUL, #myUL2 ,#myUL3, #myUL4, #myUL5, #myUL6');

uls.forEach(ul => {

   let li = ul.getElementsByTagName('li'); 

   // continue as above

})


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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