我正在编写一个响应式程序,它不断更改某些元素的宽度,对应于具有基于 % 的宽度的其他元素。效果很好。但是当我想将 div 中的所有图像更改为与图像的祖 parent 一样大时,我遇到了问题。
JS:
var thebigone = document.getElementById('imgpresentation');
var demimages = document.getElementsByClassName('presentatinthis');
fixtheresponsiveness = setInterval(fixthis,1000);
function fixthis()
{
demimages.style.width = thebigone.offsetWidth+"px";
}
fixtheresponsiveness();
HTML:
<div id="imgpresentation" class="imgpresentation">
<div id="slidethemimgpresentation" class="slidethemimgpresentation">
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg1.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg2.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg3.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg4.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg5.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg6.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg7.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg8.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg9.jpg"/>
<img class="presentatinthis" src="img/billeder/xyachtvisit/xyachtbesoeg10.jpg"/>
</div>
</div>
如果我用“id”替换“class”,用“getelementbyid”替换“getelementsbyclassname”,它就可以工作,但它只适用于div内的第一个img。
我不想使用 jQuery,所以请不要建议 $('.presentatinthis')
最佳答案
document.getElementsByClassName
返回 NodeList,这意味着您必须循环结果才能访问和设置每个节点的 样式
var i = demimages.length;
while (i--) demimages[i].style.width = thebigone.offsetWidth+"px";
关于javascript - 如何使用 javascript 定位所有类。没有 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18161775/