使用jquery更改图像标记的src中的一些文本

时间:2018-04-07 13:04:33

标签: javascript jquery html dom

我想使用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“,所以相同的图像显示两次。 谢谢!

3 个答案:

答案 0 :(得分:1)

您可以简单地获取图像的src属性,将其循环并使用JQuery将_i替换为_4。要检查以下代码段是否有效,您需要使用浏览器的inspect element并检查src属性。

&#13;
&#13;
$(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;
&#13;
&#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提供idclass唯一的问题。如果图片是唯一使用您在问题中指定的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");