使用 delegate on 获取:


 javascript


 $(document).delegate('.img', 'click', function() {
    console.log($(this).width());
});

神隐D从犯 answered 9 years, 10 months ago

获取上一个的原因应该是在于,你更改src以后,图片还没有下载完成,这个时候图片还没有被替换。

如果希望获取的话,可以使用on->load


 $("image").on("load",function(){
        //这里添加你的获取高度函数就OK
    });

当然,第一次加载原图时候,你可以自己处理其他逻辑

西行寺小町 answered 9 years, 10 months ago


 <div id="imgs">
        <img src="testimg1.jpg" alt="test">
        <img src="testimg2.jpg" alt="test">
        <img src="testimg3.jpg" alt="test">
    </div>
    <div id="show">
        <img src="testimg1.jpg" alt="show">
    </div>
    <script src="jquery-2.1.0.min.js"></script>
    <script>
        $(function () {
            var show = $('#show img');
            $('#imgs img').on('click', function () {
                show.attr('src', this.src);
                console.log(show.attr('src'));
            });
        });
    </script>

模拟了一下你的业务场景,这样是没问题的。
依旧有问题的话 就得贴更多代码出来啦

lagg44 answered 9 years, 10 months ago

Your Answer