有人可以解释这个片段有什么问题吗?
我希望得到div中所有图像的宽度。
var totalwidth = $("#imagecontainer > img").width();
$("#imagecontainer").width(totalwidth);
抱歉,认为这只是一个语法问题
(联合国)这里的工作实例:答案 0 :(得分:5)
var width = $("#imagecontainer img:first").width();
var totalWidth = width * $("#imagecontainer img").length;
console.log(totalWidth);
修改:
$(function() {
var totalwidth = 0;
var arey = [];
$('#imagecontainer img').each(function() {
var width = $(this).width();
width = parseInt(width);
arey.push(width);
});
for(var i in arey) {
totalwidth +=arey[i];
}
$('#imagecontainer').width(totalwidth);
$('#readout').html(totalwidth);
});
在此处测试 http://jsbin.com/ayira3
答案 1 :(得分:1)
你还没有真正描述过什么是错的,但我猜你在图像完全下载之前运行了代码,所以它还没有宽度。< / p>
如果是这种情况,请尝试: 请记住,jQuery's 如果您需要在所有图像加载后运行代码,您可以使用:$("#imagecontainer > img").load(function() {
var $th = $(this);
$th.parent().width( $th.width() );
});
.ready()
method 不等待图片加载。您可以使用<img>
替换$(window).load(function() {...
元素。这样,在您实际拥有图像之前,代码才会运行。{{1}}