我想使用js或jQuery更改图像标记的src中的一个字母。
<img src="/media/image_i/ball.png">
<img src="/media/image_i/bat.png">
我想将src中的那封信改成一个数字。 Eg.it应该是这样的 -
<img src="/media/image_4/ball.png">
<img src="/media/image_4/bat.png">
编辑 - 当我使用解决方案时,一切正常,但它将所有图像标签的“src”更改为与第一个图像相同,因此第二个图像“bat.png”将变为“ball”。 png“,所以相同的图像显示两次。
谢谢!
答案 0 :(得分:1)
您可以简单地获取图像的src
属性,将其循环并使用JQuery将_i
替换为_4
。要检查以下代码段是否有效,您需要使用浏览器的inspect element
并检查src
属性。
$(document).ready(function(){
$('img').each(function(){
var src = $(this).attr('src');;
$(this).attr('src', src.replace('_i','_4'));
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img src="/media/image_4/ball.png">
<img src="/media/image_4/bat.png">
&#13;
答案 1 :(得分:1)
您可以使用正则表达式完成此任务。
$(document).ready(function(){
var src = $('img').attr('src');
var newsrc = src.replace(/_./g, '_4');
$('img').attr('src', newsrc);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img src="/media/image_i/ball.png">
您可以进一步发展它。 更多信息:https://stackoverflow.com/a/2912904/5792209
答案 2 :(得分:0)
首先,您需要确定需要修改的特定img
元素。这可以通过多种方式完成,例如为img
提供id
或class
唯一的问题。如果图片是唯一使用您在问题中指定的src
的图片,则可以使用该图片(以及我在后面的代码中所做的事情)。< / p>
在获得对元素的正确引用后,使用.attr()
方法获取/设置当前src
值和标准String.replace
方法来交换值:
var current = $("img[src='/media/image_i/ball.png']");
current.attr("src", current.attr("src").replace("_i", "_4"));
如果这就是你需要做的全部,那么JQuery就是矫枉过正。标准JavaScript就是这么简单:
var el= document.querySelector("img[src='/media/image_i/ball.png']");
el.src = el.src.replace("_i", "_4");