$j(document).ready(<script type="text/JavaScript">
function getProps(){
var imgwidth = [];
var imgheight = [];
var w, h;
var width = document.getElementById('des').clientWidth;
var height = document.getElementById('des').clientHeight;
img = document.getElementById('des').getElementsByTagName('img').length;
w = document.getElementById('des').getElementsByTagName('img');
h = document.getElementById('des').getElementsByTagName('img');
for ( count = 0; count < img; count++){
imgwidth[count] = w.item(count).clientWidth;
imgheight[count] = h.item(count).clientHeight;
}
</script>);
问问题
60 次
2 回答
2
我认为这就是您想要的,我稍微重构了您的代码:
function getProps()
{
var imgwidth = [];
var imgheight = [];
var images = document.getElementById('des').getElementsByTagName('img');
var count = images.length;
for ( i = 0; i < count; i++)
{
imgwidth[i] = images[i].clientWidth;
imgheight[i] = images[i].clientHeight;
}
console.log(imgwidth);
console.log(imgheight);
}
$(document).ready(function()
{
getProps()
});
我已经为您设置了一个 jsfiddle 来演示这一点:http: //jsfiddle.net/JbpdW/
编辑
如果您使用 jQuery(您显然是这样做的),您可以使用以下方法稍微简化该过程:
$("#des img").each(function(i)
{
imgwidth[i] = this.clientWidth;
imgheight[i] = this.clientHeight;
});
于 2012-11-11T20:45:07.003 回答
0
使用 jquery 非常短:
$j(function() {
var result=$j.map($('#des img'),function(el,i) {
var $el=$j(el); //optimize
return {width:$el.width(),height:$el.height()};
});
console.log(result);
});
请注意,我使用对象数组而不是两个变量,使用一个变量比使用两个变量更容易:) http://jsbin.com/uzikeh/2/edit
于 2012-11-11T21:02:02.097 回答