改写.html()获取修改后新修改后的Html-----Js

目的:改写Jquery中的.Html()方法为新的.formhtml()

功能:将修改的html也复制(原来的.html()只是复制页面中显示的html,不能获取修改以后的html)

(function ($) {
    var oldHTML = $.fn.html;
    $.fn.formhtml = function () {
        if (arguments.length) return oldHTML.apply(this, arguments);
        $(this).each(function () {
            if (this.type == "input" || this.type == "textarea" || this.type == "button") {
                this.setAttribute('value', this.value);
            }
            else if (this.type == "radio" || this.type == "checkbox") {
                if (this.checked) this.setAttribute('checked', 'checked');
                else this.removeAttribute('checked');
            }
            else if (this.type == "option") {
                if (this.selected) this.setAttribute('selected', 'selected');
                else this.removeAttribute('selected');
            }


            $("input,button", this).each(function () {
                this.setAttribute('value', this.value);
            });
            $("textarea", this).each(function () {
                $(this).html(this.value);
            });
            $(":radio,:checkbox", this).each(function () {
                // im not really even sure you need to do this for "checked"
                // but what the heck, better safe than sorry
                if (this.checked) this.setAttribute('checked', 'checked');
                else this.removeAttribute('checked');
            });
            $("option", this).each(function () {
                // also not sure, but, better safe...
                if (this.selected) this.setAttribute('selected', 'selected');
                else this.removeAttribute('selected');
            });
        });
        return oldHTML.apply(this);
    };
})(jQuery);
原文地址:https://www.cnblogs.com/KrystalNa/p/4409014.html