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周围贴上锚定标签呢