使用jquery匹配分区宽度

时间:2012-10-25 21:36:50

标签: javascript jquery

这是一个关于将分区宽度与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的宽度与类'caption'匹配到具有类'thumbs_image_container'的div的宽度,但是分别处理每个列表项。

有人可以给我一些关于如何做到这一点的指示吗?我知道如何匹配宽度,但我在确定如何单独处理每个列表项时遇到问题。

3 个答案:

答案 0 :(得分:0)

使用jQuery的eachJquery $.each selector

这段代码将获得带有类拇指的元素集,然后检查每个元素是否包含一个名为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);
 }
});

答案 1 :(得分: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
      }
});

答案 2 :(得分:0)

感谢Sushanth和Travis,jquery各自都做了这个伎俩,经过实验,我最终得到的就是我想要做的事情,

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

事实证明,我需要将图片的宽度与“标题”宽度相匹配。

感谢您的帮助