我想添加网址参数到我的img src
,可以使用getElementById
来完成,但不能使用getElementsByClassName
。我更喜欢使用 getElementsByClassName ,因为它对我的目的更有意义。这是我正在使用的代码:
<img id="parameter" src="http://url-to-image.com/image.jpg" style="width: 100%">
<script>
var image = document.getElementById("parameter");
var imageSrc = image.getAttribute("src");
image.setAttribute("src", imageSrc + "?w=" + viewportWidth + "&h=" + viewportHeight + "&dpr=" + dpr + "&fit=crop");
</script>
上面的代码效果很好,但是使用
<img class="parameter" src="http://url-to-image.com/image.jpg" style="width: 100%">
<script>
var image = document.getElementsByClassName("parameter");
var imageSrc = image.getAttribute("src");
image.setAttribute("src", imageSrc + "?w=" + viewportWidth + "&h=" + viewportHeight + "&dpr=" + dpr + "&fit=crop");
</script>
不会向 img src
添加任何内容。 url 参数应添加到所有具有“parameter”类的图像中。如果有人能在这方面帮助我,我会很高兴。
最佳答案
正如其他人所说,getElementsByClassName ,始终返回列表。 我想你可以看看querySelector方法代替。
var image = document.querySelector(".parameter");
那么你不需要查看列表中的第一项。
性能 从性能 Angular 来看, getElementByClass 会更快。 Performance test
关于javascript - 使用 JavaScript 将参数添加到 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55047039/