使用JavaScript向网址添加参数

vlo*_*yan 0 javascript getelementbyid url-parameters getelementsbyclassname

我想向我添加url参数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>
Run Code Online (Sandbox Code Playgroud)

上面的代码很好用,但是使用

<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>
Run Code Online (Sandbox Code Playgroud)

不会向中添加任何内容img src。url参数应添加到所有带有“ parameter”类的图像。如果有人可以帮助我,我会很高兴。

Lid*_*tan 5

就像其他人所说的,getElementsByClassName总是返回列表。我认为您可以改为查看querySelector方法。

var image = document.querySelector(".parameter");
Run Code Online (Sandbox Code Playgroud)

那么您无需查看列表中的第一项。

性能 在性能的角度来看,getElementByClass会更快。性能测试