我有下一个功能:
function setImagesWidth(id,width) {
var images = document.getElementById(id).getElementsByTagName("img");
for(var i = 0; i < images.length;i++) {
// If the real width is bigger than width parameter
images[i].style.width=width;
//}
}
}
我想只在图像实际宽度大于属性值时才将所有img标签的css width属性设置为特定值.如果可能的话,我想要一个不使用任何特定框架的解决方案.
images [i] .offsetWidth为109px宽度的图像返回111.这是因为每边边界1px?
最佳答案
@Sergio del Amo:的确,如果你查看我的链接,你会发现你想要clientWidth.
@Sergio del Amo:不幸的是,你不能接受自己的答案.但是你确实在“px”后缀中有一个无关的时期,所以让我们来看看,包括clientWidth更改:
// width in pixels
function setImagesWidth(id,width)
{
var images = document.getElementById(id).getElementsByTagName("img");
var newWidth = width + "px";
for (var i = 0; i < images.length; ++i)
{
if (images[i].clientWidth > width)
{
images[i].style.width = newWidth;
}
}
}