我需要在div中获得图像的组合宽度,并将该宽度应用于div。我在这里使用这段代码:
Take combined width of multiple images and apply to their containing div
$(document).ready(function() {
$('div').each(function() {
var totalImageWidth = 0;
$("img", this).each(function () {
totalImageWidth += $(this).width();
});
$(this).width(totalImageWidth);
});
});
这可以正常工作,直到我对图像应用填充。然后包含div太小,因为图像占用更多空间。
为了尝试修复此问题,我已将“img”更改为包含div的图像。所以这:
("img", this)
成为:("div-which-is-around-image", this)
。
由于某种原因,包含div现在太宽了。我不知道为什么会这样。我改变了dom准备好窗口加载,问题是图像没有及时加载,但它没有任何区别。
谢谢
答案 0 :(得分:0)
您可以使用innerWidth()方法而不是width() 返回宽度包括填充(不包括边框和边距) 您的代码应如下所示:
$(document).ready(function() {
$('div').each(function() {
var totalImageWidth = 0;
$("img", this).each(function () {
totalImageWidth += $(this).innerWidth();
});
$(this).width(totalImageWidth);
});
});
答案 1 :(得分:0)
哎呀,我把图像漂浮了但不是它的div。浮动他们两个已修复此问题。 谢谢