首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery插件问题

Jquery插件问题
EN

Stack Overflow用户
提问于 2011-08-11 04:38:50
回答 1查看 58关注 0票数 0

我一直在编辑一个JQuery插件'airport‘,遇到了一个问题;

我希望div在代码中提到的位置清除,但是当我使用$(Self).empty()时,代码就会停止。(代码中途)。

下面是我的代码:

代码语言:javascript
复制
function($){ 
 $.fn.extend({  
     airport: function(array) {

        var self = $(this);
        var chars = ['a','b','c','d','e','f','g',' ','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','-'];
        var longest = 0;
        var items = items2 = array.length;

        function pad(a,b) { return a + new Array(b - a.length + 1).join(' '); }

        $(this).empty();

        while(items--)
            if(array[items].length > longest) longest = array[items].length;

        spans = longest;
        while(spans--)
            $(this).prepend("<span class='c" + spans + "'></span>");    


        function testChar(a,b,c,d){
            if(c >= array.length)
                setTimeout(function() { testChar(0,0,0,0); }, 500);             
            else if(d >= array[c].length)
                //Div should be cleared here...
                setTimeout(function() { testChar(0,0,c+1,0); }, 500);
            else {
                $(self).find('.c'+a).html((chars[b]==" ")?"&nbsp;":chars[b]);
                setTimeout(function() {
                    if(b > chars.length)
                        testChar(a+1,0,c,d+1);
                    else if(chars[b] != array[c].substring(d,d+1).toLowerCase())
                        testChar(a,b+1,c,d);
                    else
                        testChar(a+1,0,c,d+1);
                }, 20);
            }
        }
        testChar(0,0,0,0);
    } 
}); 

})(jQuery);

请告诉我如何清除div中的所有内容。提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-11 04:44:28

self已经是一个jQuery对象了,不要把它包装在$()中,这样它就可以正常工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7017475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档