想到某个节点里面的子元素反转过来排序。就是 1-2-3-4-5 转成 5-4-3-2-1,如果用 JavaScript 的话,用 reverse 方法就可以,但 DOM 的话,要怎样操作呢?
<div id=\\\"container\\\">
这是一行需要被反转的标签1<br>
这是一行需要被反转的标签2<br>
这是一行需要被反转的标签3<br>
这是一行需要被反转的标签4<br>
这是一行需要被反转的标签5
</div>
// 想要的结果
<div id=\\\"container\\\">
这是一行需要被反转的标签5<br>
这是一行需要被反转的标签4<br>
这是一行需要被反转的标签3<br>
这是一行需要被反转的标签2<br>
这是一行需要被反转的标签1
</div>
let container = document.getElementById(\\\'container\\\');
let arr = Array.prototype.slice.call(container.childNodes)
for(let dom of arr ){
container.removeChild(dom);
}
arr.reverse();
for(let dom of arr){
container.appendChild(dom);
}
let container = document.getElementById(\\\'container\\\');
let len = container.childNodes.length;
while(len-- > 0){
container.appendChild(container.childNodes[len])
}
let container = document.getElementById(\\\'container\\\');
let range = new Range();
range.setStart(container,0);//设置开始节点
range.setEnd(container,container.childNodes.length);//设置结束节点
let frament = range.extractContents();//把 Range 添加到 DocumentFragment
let len = frament.childNodes.length;
while(len-- > 0){
frament.appendChild(frament.childNodes[len])
}
container.appendChild(frament);
原创文章,作者:小道研究,如若转载,请注明出处:https://www.sudun.com/ask/34574.html