﻿
jQuery.fn.swap = function(b) {
    b = jQuery(b)[0];

    if (!this || !b) { return this; }
    if (this.length == 0 || b.length == 0) { return this; }

    var a = this[0];
    var t = a.parentNode.insertBefore(document.createTextNode(''), a);
    b.parentNode.insertBefore(a, b);
    t.parentNode.insertBefore(b, t);
    t.parentNode.removeChild(t);
    return this;
};