javascript替换url链接循环

时间:2015-02-16 18:10:08

标签: javascript html loops url replace

我是Javascript的初学者,在这里阅读了几篇文章,但无法让我的代码正常工作。希望你能解释一下解决方案:)

所以基本上我有四组图片,但是我需要在其网址中将所有$_12.JPG替换为$_57.JPG,这样我就可以获得更大的图片尺寸(只有分配给{{的图片) 1}} / class="ebay")。我需要在浏览器开始阅读页面时执行此操作,不涉及任何事件或按钮。

以下是我的源代码:

id="ebay"

我还想循环这个功能,所以当我有超过4组图片(最多15套)时,javascript仍然可以替换我的URL。

以下是我的尝试:

<div>
<img class="ebay" id="ebay" u="image" src="http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/neAAAOSwrklU28I8/$_12.JPG?set_id=880000500F">
<img u="thumb" src="http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/neAAAOSwrklU28I8/$_12.JPG?set_id=880000500F">
</div>
<div>
<img class="ebay" id="ebay" u="image" src="http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/r8cAAOSwNSxU28I9/$_12.JPG?set_id=880000500F">
<img u="thumb" src="http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/r8cAAOSwNSxU28I9/$_12.JPG?set_id=880000500F">
</div>
<div>
<img class="ebay" id="ebay" u="image" src="http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/HLgAAOSwPhdU28I-/$_12.JPG?set_id=880000500F">
<img u="thumb" src="http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/HLgAAOSwPhdU28I-/$_12.JPG?set_id=880000500F">
</div>
<div>
<img class="ebay" id="ebay" u="image" src="http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/6VkAAOSwPYZU28I-/$_12.JPG?set_id=880000500F">
<img u="thumb" src="http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/6VkAAOSwPYZU28I-/$_12.JPG?set_id=880000500F">
</div>

2 个答案:

答案 0 :(得分:1)

您必须意识到getElementsByClassName会返回HTMLCollection,而不是单个元素。因此,您不能通过访问集合的.src属性来简单地更改集合中的所有元素。

您需要遍历集合才能执行此操作:

var currentLinks = document.getElementsByClassName('ebay');

Array.prototype.forEach.call(currentLinks, function(currentLink) {
    var newLink = currentLink.src.replace('$_12.JPG','$_57.JPG');
    currentLink.src = newLink;
});

此外,您的getElementByClassName中有一个拼写错误(您错过s中的Elements)。

请参阅MDN

答案 1 :(得分:0)

错位var currentLink=document.getElementByClassName('ebay');

DO,

window.onload = function() {

    var currentLink=document.getElementsByClassName('ebay');
    for ( var i = 0; i < currentLink.length; i++) { 
    var newLink = currentLink[i].src.replace('$_12.JPG','$_57.JPG');
    currentLink[i].src = newLink;
    }
}