使用jQuery更改字符串的一部分

时间:2013-07-03 19:33:23

标签: javascript jquery

我确信这很简单,但我无法理解。

我有这个HTML:

<img src="/7290/9200572193_f95fb66c50_m.jpg" />

我需要改为

<img src="/7290/9200572193_f95fb66c50_b.jpg" />

这并不总是相同的图片,但_m.jpg_b.jpg是。我怎么能用jQuery做到这一点?

4 个答案:

答案 0 :(得分:2)

你可以这样做:

var imgSrc = "/7290/9200572193_f95fb66c50_m.jpg";
imgSrc = imgSrc.replace("_m.jpg", "_b.jpg");

答案 1 :(得分:1)

这样的事可能会对你有所帮助:

$( "img" ).each(function() {
  var src = $( this ).attr( "src" );
  $( this ).attr( "src", src.replace( /_m\.(.*)$/, "_b.$1" ) );
});

这不取决于src属性的扩展名。

答案 2 :(得分:1)

使用$("img").each(function(){ doStuff(); });循环显示“img”标签。使用attr("attribute","new_value")更改属性,使用attr("attribute")获取属性。替换为replace("from","to")

$("img").each(function(){
  $(this).attr("src",$(this).attr("src").replace("_m","_b"));
});

答案 3 :(得分:0)

简而言之,请使用.replace。如:

"/7290/9200572193_f95fb66c50_m.jpg".replace('_m.jpg', '_b.jpg');
/*  OR  */
var url = "/7290/9200572193_f95fb66c50_m.jpg";
url.replace('_m.jpg', '_b.jpg');

您在.each()中使用jQuery来循环遍历一组元素。因此,您可以使用像$('img')这样的简单选择器来选择视图上的所有图像,然后在callback方法中进行更改。然后,您可以使用.prop设置并获取当前src并使用旧式.replace

进行更改
$("img").each(function(i) {
    $(this).prop("src", $(this).prop("src").replace('_m.jpg', '_b.jpg'));
});

Example