使用jQuery获取div内的图像宽度
如何获得图像宽度?所有图像的宽度都不同。我想得到图像的宽度,然后将其交给div class=“lidiv”。有人能帮忙吗?求你了使用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="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);
});
});