无法在JQ插件中创建元素

时间:2012-01-22 18:09:35

标签: html jquery-ui jquery-plugins

我正在尝试使用输入和按钮构建一个简单的JQ Plugin

(function ($) {
    var methods = {
        init: function (options) {
            var settings = $.extend({
                'label': 'File'
            }, options);

            return this.each(function () {
                var $this = $(this);
                $this.append = $('<label>' + settings.label + ':</label>');
                $this.append = $('<input type="text" id="textInput">');
                $this.append = $('<button>browse..</button>');
            });
        }
    };

    $.fn.openFileDialog = function (method) {
        // Method calling logic
        if(methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if(typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on jQuery.openFileDialog');
        }
    };
})(jQuery);

我还尝试使用document.createElement()创建元素。在这两种情况下,目标元素内都不会创建任何内容我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

  

可能?

$this.append('<label>' + settings.label + ':</label>'+'<input type="text" id="textInput">'+'<button>browse..</button>');

OR

$('<label>' + settings.label + ':</label><input type="text" id="textInput"><button>browse..</button>').appendTo($this);