Javascript 使用JQuery每个函数返回元素宽度

Javascript 使用JQuery每个函数返回元素宽度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我目前有一个ul,大约有20个li。每个li的结构如下: <li class="block"> <a href="#"> <div class="front"> <img src="..." /> </div> <div class="back"> <p>Text</p> </div> </a> </li

我目前有一个
ul
,大约有20个
li
。每个
li
的结构如下:

 <li class="block">
  <a href="#">
    <div class="front">
      <img src="..." />
    </div>
    <div class="back">
     <p>Text</p>
    </div>  
  </a>
</li>   
$("li.block").each(funtion() {
  var width = $(this).width();
  $(this).children('a').css("width", $currentWidth);
});
使用
.each()
和类似于上面代码的东西来解决我的问题的正确方法是什么?

如何:

$('#your-ul').find('li.block').each(function(){
  // inside here, 'this' refers to to a specific 'li.block' element
  $(this).find('a').width( $(this).width() );
});

虽然我有点怀疑为什么这些块的宽度不一样。

要循环使用每个块

$("li.block").each(function() {//stuff});
在该函数中,您可以使用
获取相关块:

var width = $(this).width();
然后可以将其应用于该块内的链接:

$(this).children('a').css("width", $currentWidth);
当然,如果您的html不总是这样的话,这可能会有点不同——使用任何合适的选择器

因此,把所有这些放在一起,你会得到如下结果:

 <li class="block">
  <a href="#">
    <div class="front">
      <img src="..." />
    </div>
    <div class="back">
     <p>Text</p>
    </div>  
  </a>
</li>   
$("li.block").each(funtion() {
  var width = $(this).width();
  $(this).children('a').css("width", $currentWidth);
});

我猜op将列表元素显示为块,并试图将整个内容作为链接。在这种情况下,为什么不在li周围贴上锚定标签呢