2009-08-05 8 views
0

이 함수는 매우 사소한 것으로 들리지만 다음 함수 (return ( $ this) .each() ...`)는 내 플러그인에서 모든 것이지만 살아있는 것처럼 보입니다. 나는 심지어 경고를 얻지 않는다. 가능한 문제에 대한 제안 사항이 있습니까? 미리 Thx.플러그인 내에서 jQuery 객체에 액세스 할 수 없습니다.

(function($){ 
    $.fn.plugin = function() { 
     return $(this).each(function(){ 
      var obj = $(this); 
      obj.css('background', 'blue'); 
      alert(this); 
     }); 
    }; 
})(jQuery); 
+0

, 난 상향리스트 내의 리튬 원소의 무리를 포함 그들을 선택 완전히 일치하는 요소의 길이를 조사했다. 그 결과는 항상 0이되었습니다. console.log ($ ('li'). length); –

+0

내가 어떻게 플러그인을 호출하는지 묻는 와우 thx ... 솔루션은 매우 간단하며, 이와 같은 문제는 아주 간단합니다. 전화를 걸고 다음 번호로 전화를 걸지 않았습니다. $ (문서) .ready (기능) { $ ('li'). 플러그인(); }); –

답변

1

어떻게 플러그인을 부르시겠습니까? 일치하는 요소가 있습니까? 선택기에서 .length를 확인하여 일치하는 요소가> 0인지 확인하십시오. 이 테스트에 대한

0

확인이

<html> 
<head> 
<script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
</head> 
<script type="text/javascript"> 
    (function($){ 
     $.fn.plugin = function() { 
      return $(this).each(function(){ 
        var obj = $(this); 
        obj.css('background', 'blue'); 
        $("#result").append('<span>in plugin : '+obj.html()+'</span><br />'); 
      }); 
     }; 
    })(jQuery); 

    jQuery(function(){ 
     var test = $("div").plugin(); 

     $(test).each(function(){ 
      $("#result").append('<span>out plugin : '+$(this).html()+'</span><br />'); 
     }); 
    }); 

</script> 
<head> 
<body> 
<div>a</div> 
<div>b</div> 
<div>d</div> 
<div>v</div> 
<span id="result"></span> 
</body> 
</html> 
관련 문제