jQuery each()工作异常

jQuery each()工作异常,jquery,slideshow,Jquery,Slideshow,我试图得到一些嵌套图像的宽度。我有以下HTML代码: <div class="slide" id="Slide1"> <a href="#" title="Some Title" target="_blank"> <img src="images/photo1.jpg" alt="Slide 1" class="slideImg"> </a> <div class="c

我试图得到一些嵌套图像的宽度。我有以下HTML代码:

<div class="slide" id="Slide1">
        <a href="#" title="Some Title" target="_blank">
             <img src="images/photo1.jpg" alt="Slide 1" class="slideImg">
        </a>
        <div class="caption" style="width: 476px">
            <h1>Stuff</h1>
            <p>Some Stuff Description</p>
        </div>
    </div>
<div class="slide" id="Slide2">
        <a href="#" title="Some Title" target="_blank">
             <img src="images/photo.jpg" alt="Slide 2" class="slideImg">
        </a>
        <div class="caption" style="width: 476px">
            <h1>Stuff</h1>
            <p>Some Stuff Description</p>
        </div>
    </div>

提前谢谢

我刚检查过它的工作情况

   $(document).ready(function(){

      $('.slide').each(function(){
        alert($(this).attr('id'));
            alert($(this).find('a').find('img').width());
});

    });

我也是,这对我很有用

您使用的是哪种浏览器


我在Chrome 22,IE 9,Firefox 15中测试过,你也可以检查你的图像是否隐藏。因为jquery在计算隐藏元素的维度时存在问题,所以可能是在jquery运行时图像没有完全加载。请看这里:

另外,
clientWidth
将为您提供图像的实际渲染宽度

您可以尝试:

$('.slide').load(function() {
  alert(this.clientWidth);
})

您确定两个图像都已加载吗。因为如果不是从服务器加载,第二个映像的宽度当然可以为零。。你肯定还有其他东西没有包含在标记中。哎哟,我想我没有粘贴滑块代码,对不起,我会编辑它,它在这里可以正常工作。。可能您的图像没有正确加载..抱歉,我的代理有问题,我试图编辑问题,但我无法,我正在使用SlideJs,wwww.SlideJs.com,所有这些函数都在:slidesloadded:function()中使用{是的,我试着从那里取出它,但它是一样的,我不知道发生了什么。是的,第一张幻灯片只是可见的,这可能是问题所在,因为第一个循环给了我正确的数据,但其他的都是错误的。我如何处理这个“隐藏”的错误?也许你可以使用“左偏技术”如以下链接所述。在计算宽度之前应用上述技术,然后在计算之后删除该技术。这样就不会影响您的布局。我不适合我。我正在尝试编辑问题,因为我有一张幻灯片,这可能是提示。
$('.slide').load(function() {
  alert(this.clientWidth);
})