如何将所需的jQuery对象传递到内部对象?

时间:2013-02-04 16:38:13

标签: jquery

    jQuery.fn.extend({
    fillCurrency : (function() {
        $this = jQuery(this);

        function _usd(string1) {
            $this.text("$" + parseFloat(string1).toFixed(2));

            return $this;
        }

        return {
            usd : _usd
        };
    })()
});


var text = 2;
jQuery("#total").fillCurrency.usd(text);


<p id="total"></p>

尝试了几种选择,我想我现在已经接近了。问题是现在Object [object global]没有方法'createDocumentFragment'。有人知道这里的问题是什么吗?

2 个答案:

答案 0 :(得分:0)

首先我建议在函数fillCurrency的参数中传递货币,然后在您的代码中输入拼写错误

jQuery("#total").fillCurency.usd(text);

应该是

jQuery("#total").fillCurrency.usd(text);

但即使你修正了错字,它也不会给你你想要的东西

这就是我的建议:

(function ($) {
    $.fn.fillCurrency = function (currency, value) {
        return this.each(function () {
            if (currency === "usd") {
                $(this).text(parseFloat(value).toFixed(2));
            }
        });
    }
})(jQuery);

$(function () {
    var text = 2;
    $("p#total").fillCurrency("usd", text);
});

http://jsfiddle.net/pWcBD/

答案 1 :(得分:0)

我得到了解决方案:

jQuery.fn.extend({
Currency : function() {
        var $this = this;

        var _Fill = {
            usd : function(string) {
                $this.text("$" + parseFloat(string).toFixed(2));

                return $this;
   }
        }

        var _Get = {
            usd : function(string) {
                $this.text("$" + parseFloat(string).toFixed(2));

                return $this;
   }
        }

        return {
            Fill : _Fill,
            Get : _Get
        }
    }
});

这会将jQuery对象传递给内部对象,例如插件。