Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery获取div内的图像宽度_Jquery - Fatal编程技术网

使用jQuery获取div内的图像宽度

使用jQuery获取div内的图像宽度,jquery,Jquery,如何获得图像宽度?所有图像的宽度都不同。我想得到图像的宽度,然后将其交给div class=“lidiv”。有人能帮忙吗?求你了 <div class="divclass"> <ul> <div class="lidiv"> <li><img src="img1.jpg"/></li> </div> <div class="lidiv"> <li><i

如何获得图像宽度?所有图像的宽度都不同。我想得到图像的宽度,然后将其交给div class=“lidiv”。有人能帮忙吗?求你了

<div class="divclass">
    <ul>
      <div class="lidiv"> <li><img src="img1.jpg"/></li> </div>
      <div class="lidiv"> <li><img src="img2.jpg"/></li> </div>
      <div class="lidiv"> <li><img src="img3.jpg"/></li> </div>
      <div class="lidiv"> <li><img src="img4.jpg"/></li> </div>
      <div class="lidiv"> <li><img src="img5.jpg"/></li> </div>
    </ul>
</div>
这段代码应该有效。但是Rory McCrossan是对的,你的html是无效的。浏览器可能会删除
li
中的
div
标记,因此您可以在javascript中访问它

但是您可以为
li
标记指定宽度:

$('.divClass ul li img').width();
警告:在某些浏览器上,在加载图像之前会触发DOMReady事件!因此,如果得到0宽度(或
未定义的
),则应稍后执行此代码。您可以收听图像加载事件:

$('.divClass ul li').each(function() {
    var $li = $(this);
    $li.width($li.find('img').width());
});
试试这个

$('.divClass ul li img').load(function() {
    var $img = $(this);
    $img.parent().width($img.width());
});

并编写有效的HTML。

对de div项进行第一次循环。然后选择子体img元素。获得图像宽度后,将其置于div的css样式中

var imgWidth = jQuery('img').clientWidth;

您的HTML无效-您不能将
div
作为
ul
的直接子项。请将
  • 更改为
  • 我更改了HTML,但它不起作用。它显示未定义。图像在页面上可见吗?我也得到0宽度,但这是因为它不能加载图像,我猜。
    $(document).ready(function(){    
        $("div.lidiv").each(function() { 
            img = $(this).find('img');
            img_width = img.width();
            $(this).css('width', img_width);
        });
    });