jQuery.icoderSnippets.js

// ICoders jQuery snippets - kræver jsCoreExtensions.js
(function($) {
    $.fn.outerHTML = function() {
        /// Returnerer html fragment inklusiv elementet selv.
        if ($.browser.msie) {
            return this[0].outerHTML;
        }
        else {
            var attrStr = "";
            $(this[0].attributes).each(function(i, itm) {
                attrStr += " {0}='{1}'".format(itm.name, itm.nodeValue);
            });
            return "<{0}{2}>{1}".format(this[0].tagName, this[0].innerHTML, attrStr);
        }
    };
    $.fn.databind = function(data, config) {
        /// Binder en array af objekter til HTML i siden
        /// Array of objects used as datasource for the binding
        if (data.isPrototypeOf(Array))
            throw new Error("$.bind: Data skal være en array af objekter.");
        config = config || { cssEven: "even", cssOdd: "odd" };

        return this.each(function() {
            // Setup
            var $container = $(this).parent();
            var bindingExpression = $(this).outerHTML();

            // Fjern template
            $container.empty();
            // Bind
            data.each(function(itm, i) {
                $container.append(
                        $(bindingExpression.bind(itm))
                        .addClass(i % 2 == 0 ? config.cssEven : config.cssOdd));
            });
        });
    };
})(jQuery);

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen | Modified by Mooglegiant

About

Mit navn er Jesper Jensen, og jeg arbejder til dagligt som web-udvikler hos DGI, hvor mit speciale er klientside applikationer. Før det var jeg nogle år i robotbranchen, hvor jeg arbejdede med 3D simulering og system koordinering. Jeg elsker webudvikling, og specielt JavaScript har min interesse. Jeg har blogget om mine oplevelser med udvikling siden 2004

Calendar

<<  september 2010  >>
mationtofr
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

RecentComments

Comment RSS