坚持这个jquery插件的结构

时间:2011-02-05 12:31:30

标签: javascript jquery

我正在练习jquery插件,需要帮助完成这个,尤其是外部骨架。

假设我有这个标记

<div class="tochange"></div>
<div class="tochange"></div>
<div class="tochange"></div>

我想让插件添加到div.tochange这个标记

<div class="root">Root</div>

所以它是

<div class="tochange">
   <div class="root">Root</div>
</div>

然后,如果单击根,则将其替换为2个div,以便标记看起来像这样

<div class="tochange">
   <div class="child">Child</div>
   <div class="child">Child</div>
</div>

如果点击了孩子,则会返回父母

<div class="tochange">
   <div class="root">Root</div>
</div>

我正在关注documentation,但我不知道我是否需要这方法。我的猜测是,但我无法在脑海中完成这个插件的结构。这是我的第一个插件,我认为我自己的一个实用的想法是最好的学习方法,但我被卡住了。能够做到这一点的人可以让我走上正轨。我对此感到有些失落。

(function($){
    $.fn.sample = function(options) {

        var settings = {
            'possibleparam1' : 'value1',
        };

        var methods = {
            init: function( options ) { },
            tochildren : function( ) { },
            toparent : function( ) { },
        };


        return this.each(function() { /*(i) {*/
            // If options exist, merge them with our default settings
            if (options) { 
                $.extend(settings, options);
            }

            // plugin code goes here

        });

    };
})( jQuery );

1 个答案:

答案 0 :(得分:0)

您可以使用以下几种方法: 试试$("field_name").update("New text");$(this).replaceWith

我在我的网站上有这样的东西我正在使用:(不介意func名称 - 它是我的ajax回调)

function setOutput()
            {

                if(httpObject.readyState == 4)
                {
                    document.getElementById('photos').innerHTML = "<div id=\"gallery\" clas.....</ul></div>";

                }
            }