【问题标题】:Replace string in url with JQuery用 JQuery 替换 url 中的字符串
【发布时间】:2014-03-09 22:58:30
【问题描述】:

我知道这是一个非常基本的问题,请原谅我的提问,但我似乎一辈子都无法正确回答。

我正在使用 JQuery 从一个图像 src 中获取 url,并将其加载到另一个我工作正常的图像 src 中。但是我需要将 url 的 100x75 部分替换为 800x600 之类的内容,以便拉取更大的图像。

我该怎么做?

这是一个例子: 假设我用 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 .. 只是不确定如何

【问题讨论】:

  • 拥有该代码和 jQuery 标签是不公平的,它可以缩小到简单的如何将 stringX 转换为 stringY

标签: javascript jquery


【解决方案1】:

你可以使用正则表达式:

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

基本上,它找到一个数字 (\d) 1 次或更多次 (+) 后跟一个“x”,然后找到另一个数字一次或多次。

它会根据你说的值改变它。

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

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

【讨论】:

    【解决方案2】:

    简单的 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");
    

    【讨论】:

      【解决方案3】:
      var old = "http://example.com/images/Something_cool-100x75.png";
      var new = old.replace("100x75","800x600");
      new = new.replace(".png",".jpg");
      alert(new);
      

      提醒"http://example.com/images/Something_cool-800x600.jpg"

      【讨论】:

        【解决方案4】:

        试试这个

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

        【讨论】:

          【解决方案5】:

          我认为更好的实现是为每个图像设置一个单独的 css 类(除非它们很多)。无需担心图像源的字符串操作,您只需更改类即可。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-03-18
            • 1970-01-01
            • 2023-02-06
            • 1970-01-01
            • 1970-01-01
            • 2021-05-07
            • 1970-01-01
            相关资源
            最近更新 更多