0

所以我正在使用 jquery 和 phonegap 来构建一个 android 应用程序。我的问题是,每当我调用我的插件时,它都不会继续。所以我追踪了问题(感谢大量的 try-catch 语句),似乎 $(this).append() 有问题。

这是我的功能:

(function($) {
     $.fn.myplugin = function (list) {
          $.map(list, function(value, index){
                $current = $("#myid_" + index);
                if($current.length == 0){
                     ...
                }else{
                     ...
                     $appendMe = $( "<li />",{
                          "id" : "mayvar_" + value["myvar"]
                     });
                     //Below is the problematic code
                     $(this).append($appendMe);
                }
          });
     };
})(jQuery);

我的用法是(注意:下面函数的调用保证jquery已经加载):

var temp = {...};
$("#sample").myplugin(temp);

和html文件:

...
<ul id="sample"></ul>
...
4

1 回答 1

0

我不知道真正的问题是什么,但只是没有直接附加到 $(this)

(function($) {
     $.fn.myplugin = function (list) {
          $holder = $(this); //added this
          $.map(list, function(value, index){
                $current = $("#myid_" + index);
                if($current.length == 0){
                     ...
                }else{
                     ...
                     $appendMe = $( "<li />",{
                          "id" : "mayvar_" + value["myvar"]
                     });
                     ...
                     //Below is the problematic code
                     //$(this).append($appendMe); changed to below
                     $holder.append($appendMe);
                }
          });
     };
})(jQuery);
于 2013-01-17T12:09:41.373 回答