2012-02-15 13 views
0

内では動作しません。私は、テンプレート内で使用する場合、このjQueryのセレクタが動作していない理由を誰もが知っている:(ところで私はjQTemplatesが推奨されていません知っている)jqueryのセレクタはjqueryTemplate

var selector2 = $('ul').find('li'); 

-

<script id="tmpGallery" type="text/html"> 
    {{if showImage(this)}} 
    <ul> 
     <li><a href="http://farm${farm}.static.flickr.com/${server}/${id}_${secret}.jpg"> 
      <img alt="Historicats" src="http://farm${farm}.static.flickr.com/${server}/${id}_${secret}.jpg"> 
      </a> 
     </li> 
    </ul> 
    {{/if}} 
</script> 
<script type="text/javascript"> 
function showImage(image){ 
    var selector2 = $('ul').find('li'); 
    //console.dir(selector2); 
    //console.log("selector2 :"+selector2.length); 
    return true; 
} 
</script> 

でコードを実行できます。http://jsfiddle.net/mescalito2345/C6T7v/3/

どのような解決策ですか?お願いします!

+0

になるまで、trueを返しますそれを下回るよう?あなたは何を期待していますか? – ShankarSangoli

+0

実際のコードは説明するのが複雑ですが、 "li"要素が10に達するかどうかを評価する必要があります。その時点でLazy Loadingを実装しようとしています...しかし、どういうわけかshowImage内でjQueryを使って選択する方法() 関数 – lito

答えて

1

showImage()へのすべての変更showImage(this)の最初にあなたがshowImageに渡される任意のパラメータを使用していないthisので。

あなたのフィドルコードに基づいて、このようなものを使用する必要があります。

$(function() { 
    $.each(images, function(i, img){ 
     $("#tmpGallery").tmpl(img).appendTo("#gallery"); 
    }); 
}); 

変更showImageのli要素は、あなたのコード内に `this`ポイントを何10

function showImage(){ 
    return $('ul').find('li').length <= 10; 
} 

http://jsfiddle.net/C6T7v/17/