用JQuery替换url中的字符串

时间:2014-02-11 22:01:25

标签: javascript jquery

我知道这是一个非常基本的问题,请原谅我,但我似乎无法为我的生活做好准备。

我正在使用JQuery从一个图像src获取url并将其加载到我工作正常的另一个图像src中。但是我需要用800x600这样的东西替换网址的100x75部分,以便拉出更大的图像。

我该怎么做?

这是一个例子: 假设我用jquery抓取图像源URL,它看起来像这样:http://example.com/images/Something_cool-100x75.png 我需要它看起来像这样:http://example.com/images/Something_cool-800x600.png

jQuery(document).ready(function($) {
    // this will pull the image I need
    var get_image = $('img.attachment-shop_thumbnail').attr('src');

    //this will assign the image I pulled above to where I need it to go but I need to replace the 100x75 in the filename to 800x600
    $("#sale_img").attr("src", get_image);
});

因此,如果您提供答案,您可以告诉我它是如何工作的,因为我还需要在其中一些上更改.png到.jpg ..只是不确定那是怎么回事

4 个答案:

答案 0 :(得分:2)

您可以使用regexp:

string.replace(/\d+x\d+/, '800x800')

基本上,它会找到一个数字(\d)1或更多时间(+)后跟一个“x”并找到一个或多个时间的其他数字。

根据你所说的价值改变它。

对于.jpg,您仍然可以使用正则表达式:string.replace(/\.png$/, '.jpg')

小提琴:http://jsfiddle.net/8mYYZ/

答案 1 :(得分:1)

简单的javascript替换可以完成你的工作

var get_image = $('img.attachment-shop_thumbnail').attr('src');
get_image = get_image.replace("100x75","800x600"); 

以同样的方式使用它将.png替换为.jpg。所以它来了

var get_image = $('img.attachment-shop_thumbnail').attr('src').replace("100x75","800x600")..replace(".png",".jpg");

答案 2 :(得分:1)

试试这个

var get_image = $('img.attachment-shop_thumbnail').attr('src').replace('100x75', '800x600');

答案 3 :(得分:0)

我认为更好的实现方法是为每个图像分别设置一个css类(除非它们有很多)。您可以简单地更改类。而不是担心图像源的字符串操作。