没有图书馆:
function reverseChildNodes(node) {
var parentNode = node.parentNode, nextSibling = node.nextSibling,
frag = node.ownerDocument.createDocumentFragment();
parentNode.removeChild(node);
while(node.lastChild)
frag.appendChild(node.lastChild);
node.appendChild(frag);
parentNode.insertBefore(node, nextSibling);
return node;
}
reverseChildNodes(document.getElementById('con'));
jQuery 风格:
$.fn.reverseChildNodes = (function() {
function reverseChildNodes(node) {
var parentNode = node.parentNode, nextSibling = node.nextSibling,
frag = node.ownerDocument.createDocumentFragment();
parentNode.removeChild(node);
while(node.lastChild)
frag.appendChild(node.lastChild);
node.appendChild(frag);
parentNode.insertBefore(node, nextSibling);
return node;
};
return function() {
this.each(function() {
reverseChildNodes(this);
});
return this;
};
})();
$('#con').reverseChildNodes();
jsPerf 测试