遇到一个小问题,无法弄明白。我在页面上使用jQuery来处理一些图像加载和灯箱。部分功能集需要替换锚标记href
的一部分,以将其指向不同的资源。
集合中有不同数量的图像,因此我使用jQuery的.each()
方法来抓取它们,替换部分网址,然后在订单后将其淡入淡出。褪色工作正常,但JavaScript的.replace()
没有生效(但如果我将它们转换为变量并记录它,我会看到正确的结果),如果我将淡入淡出的函数链接到{{1它没有被执行。
感觉价值没有返回到元素。我错过了什么?
感谢您的帮助!
HTML:
.replace
JavaScript的:
<a class="test" href="aresourcewithextension_b.jpg">
<img src="aresourcewithextension_a.jpg" />
</a>
答案 0 :(得分:1)
您需要设置替换的href。 .replace
本身不会更新原始字符串。
尝试如下,
this.href = this.href.replace('_b.jpg','_c.jpg');
答案 1 :(得分:0)
你必须记住字符串是不可变的,即使在JavaScript中也是如此。试试这个:
$(".test").each(function(i){
$(this).attr("href", $(this).attr("href").replace("_b.jpg", "_c.jpg"));
$(this).delay(100 * i).animate({opacity:1}, 200);
});