gpt4 book ai didi

javascript - 可以用 replaceChild 交换
  • 元素吗?
  • 转载 作者:太空宇宙 更新时间:2023-11-04 14:08:34 25 4
    gpt4 key购买 nike

    我有一个 <li> 的列表元素:

    <ul id="mylist">
    <li id="item1">Item 1</li>
    <li id="item2">Item 2</li>
    <li id="item3">Item 3</li>
    </ul>

    我可以交换两个吗 <li>元素 - 比如说 item1 和 item2 - 带有 replaceChild ,DOM树修改方法之一?它适用于所有浏览器吗?

    最佳答案

    没有。 replaceChild 将从 DOM 中删除一个。你想要 insertBefore

    var a = document.getElementById('item1');
    var b = document.getElementById('item2');
    a.parentNode.insertBefore(b, a);

    当然,如果它们一开始就彼此相邻,这只会交换它们。

    如果你想交换不相邻的元素,你可以利用 replaceChild

    var a = document.getElementById('item1');
    var b = document.getElementById('item3');
    var after_b = b.nextSibling;
    var p = a.parentNode;

    p.replaceChild(b,a);

    if (after_b) {
    p.replaceChild(a, after_b);
    } else {
    p.appendChild(a);
    }

    关于javascript - 可以用 replaceChild 交换 <li> 元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2698793/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com