JS0列表内容排序再渲染

描述

场景描述:在一个 HTML 页面中,有一个无序列表(ul),其中包含了一些项目(li)。每个项目都有一个文本内容和一个唯一的 ID。你需要编写一个 JavaScript 函数来提取列表中所有项目的文本内容,并将它们按照 ID 进行排序,然后将排序后的文本内容重新渲染回去。

代码实现:补全sortAndReturnTextContent函数,实现功能

<body>
    <ul id="myList">
        <li id="item1">项目 1</li>
        <li id="item3">项目 3</li>
        <li id="item2">项目 2</li>
        <li id="item4">项目 4</li>
    </ul>

    <script>
        function sortAndReturnTextContent() {
            const items = document.getElementById('myList').children;
            // 在此补全代码
            //方法一:转换真正数组,利用sort方法排序
            // let newItems = Array.from(items).sort((a, b) => {
            //     return a.id > b.id ? 1 : -1
            // })
            // document.getElementById('myList').innerHTML = newItems.map(item => item.outerHTML).join(" ")

            //方法二:将元素push到新数组中,并将id转换为数字,利用sort方法排序
            let newItems = []
            for(let i = 0; i < items.length; i++) {
                newItems.push({
                    id: items[i].id.replace('item', ''),
                    outerHTML: items[i].outerHTML
                })
            }
            document.getElementById('myList').innerHTML = newItems.sort((a, b) => a.id-b.id).map(item => item.outerHTML).join("")
        }
        sortAndReturnTextContent()
    </script>
</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值