【Javascript】自身の要素をHTML文字列で取得

javascriptjquery で 要素内のタグを取得するのは、innerHTML などでできるけど、

自身の要素はどうやって取得するのだろうと思っていたら、関数を作っている人がいました。

shanabrian.com

   (function($) {
        $.fn.selfHtml = function(targetIndex) {
            var result = [];

            if ($(this).length > 0) {
                if (targetIndex || targetIndex === 0) {
                    if ($(this).eq(targetIndex).length > 0) {
                        result = $(this).eq(targetIndex).get(0).outerHTML;
                    } else {
                        result = '';
                    }
                } else {
                    $.each($(this), function() {
                        result.push(this.outerHTML);
                    });
                }
            }

            return result;
        };
    })(jQuery);
   $(function() {
        var selfHtmlStrs = $('li').selfHtml();

        // 特定の要素
        var selfHtmlStr = $('li').selfHtml(2);
    });