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

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

動態更改的列表無法按預期工作 - 需要純 js

動態更改的列表無法按預期工作 - 需要純 js

catspeake 2021-09-30 17:14:11
我想動態更改列表元素的順序。單擊后,被單擊的元素應跳轉到第一位。但它總是跳到最后一個地方。有什么建議嗎?    const ulElement = document.getElementById('nav-list');    const fragment = document.createDocumentFragment();    const listItems = ['Home', 'Work', 'Contact'];            listItems.forEach((item) => {        const li = document.createElement('li');        li.textContent = item;        li.setAttribute('id', item.toLowerCase());        li.addEventListener('click', (event) => {            listItems.forEach((items, i) => {                if (items.toLowerCase() === event.target.id) {                    listItems.splice(i, 1);                    listItems.unshift(event.target.id);                }                fragment.appendChild(li);            });            ulElement.appendChild(fragment);            console.log(ulElement);        });        fragment.appendChild(li);    });        ulElement.appendChild(fragment);<ul id="nav-list"></ul>
查看完整描述

3 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

替換行:

ulElement.appendChild(fragment);

和:

ulElement.insertBefore(fragment, ulElement.firstChild);


查看完整回答
反對 回復 2021-09-30
?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

謝謝你的提問;我的代碼在這里:


const ulElement = document.getElementById('nav-list');

const fragment = document.createDocumentFragment();

const listItems = ['Home', 'Work', 'Contact'];


listItems.forEach(item=>{

    const li = document.createElement('li');

    li.textContent = item;

    li.setAttribute('id', item.toLowerCase());

    fragment.appendChild(li);

    return li;

});


ulElement.appendChild(fragment);


ulElement.addEventListener("click",event=>{


    let li =event.target;


    if(li.tagName==='LI'){

        fragment.appendChild(li);

        ulElement.insertBefore(fragment,ulElement.firstElementChild);

    }

});

我覺得這個方案更好。


查看完整回答
反對 回復 2021-09-30
  • 3 回答
  • 0 關注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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