0

jqueryの分割幅合わせについての質問です。これが私が取り組んでいるhtmlコードです。

<ul class="thumbs_container">
<li class="thumbs">
    <a class="fancybox" href="" >
        <div class="thumbs_image_container">
            <img src="" />
        </div>
        <div class="caption">
            caption
        </div>
    </a>
</li>
    <li class="thumbs">
    <a class="fancybox" href="" >
        <div class="thumbs_image_container">
            <img src="" />
        </div>
        <div class="caption">
            caption
        </div>
    </a>
</li>
</ul>

クラス「親指」を持つ複数のリスト項目があります。私がしたいのは、クラス「キャプション」のdivの幅をクラス「thumbs_image_container」のdivの幅に一致させることですが、各リスト項目を個別に扱います。

誰かがこれを行う方法についていくつかの指針を教えてもらえますか? 幅を一致させる方法は知っていますが、各リスト項目を個別に処理する方法を理解するのに問題があります。

4

3 に答える 3

0

SushanthとTravisに感謝します。jqueryはそれぞれトリックを実行しました。実験した後、これが最終的に私がやろうとしていたことを実行することになりました。

$('li.thumbs').each( function() {
var $divWidth = 0;  
$divWidth = $(this).find('img').width(); 
$(this).find('div.caption').width($divWidth);
});

'caption'の幅に一致させる必要があるのは画像の幅であることがわかりました。

助けてくれてありがとう

于 2012-10-25T22:20:39.597 に答える
0

jQueryを使用するeachJquery $ .eachセレクター

このコードは、クラスthumbsを持つ要素のセットを取得し、各要素にcaptionという名前のクラスが含まれているかどうかを確認し、その要素にcaptionが含まれている場合は、class = thumbs_image_containerを持つ要素の関連する幅を取得し、それを反復に適用しますエレメント。

$('.thumbs').each(function( location, element ){
 if( $(this).find('.caption').length){  
  var w = $(this).find('.thumbs_image_container')[0].width();
  $(this).width(w);
 }
});
于 2012-10-25T21:41:22.100 に答える
0

使ってみて $.each()

var $ulWidth = $('thumbs_container').width();

$('li.thumbs').each( function() {

      var $divWidth = $(this).find('div.caption').width(); //Width of div inside Current li..

      if( parseInt($ulWidth) == parseInt($divWidth) ) {
           // Do Something
      }
});
于 2012-10-25T21:42:34.617 に答える