需要有关JavaScript的帮助来修剪

时间:2012-09-05 10:29:26

标签: javascript jquery trim

我的服务器空间遇到了一些问题。图像使用服务器的所有空间,使其变慢。由于它是一个电子商务网站,它不会很慢或我们失去客户。

如果我有以下内容:

SKU's :
ABC123-001 > catName > Phone
ABC753-851 > catName > MAC
AT1233-098 > catName > PC

如何使用trim来实现以下目标:

SKU's :
123 > catName > Phone
753 > catName > MAC
1233 > catName > PC

我将在以下脚本中使用:

<script type="text/javascript">
$(function(){
    var sku = $("#ProductBreadcrumb ul li:last").text();
    $(".ProductThumbImage img").attr('src','http://img.example.com/images/'+catName+'/'+sku+'.jpg');
});
</script>

所以,基本上,图片链接的输出是:

http://img.example.com/images/phone/123.jpg
http://img.example.com/images/mac/753.jpg
http://img.example.com/images/pc/1233.jpg

所以是的,我必须面对的第一个问题是......我该如何修剪它?

我不熟悉JavaScript,所以任何帮助都会非常感激:D

2 个答案:

答案 0 :(得分:0)

这是一个有效的example。我不确定重命名与性能有什么关系,但是你去了;)

修改 抱歉忘记添加其他部分:) http://jsfiddle.net/Vandeplas/YH9uT/2/

var a = [
    'ABC123-001 > catName > Phone',
    'ABC753-851 > catName > MAC',
    'AT1233-098 > catName > PC'
],
    b=[];

$.each(a, function(index, item){
    //split the folders
    f= item.split(' > ');
    /* take the first folder remove everything after '-' 
     * remove everything non numeric and return it */
    f[0]=f[0].substr(0, f[0].indexOf('-')).replace(/[^0-9]/g, '');
    //rejoin the folders
    b.push(f.join(' > '));
});

console.log(a, b);

答案 1 :(得分:0)

修改

我得到了我正在寻找的解决方案。代码如下:

  <script type="text/javascript">
      $(function(){
         var catname = $("#ProductBreadcrumb ul li:last").previous('a').text();

         $(".ProductThumbImage img").attr('src','http://img.example.com/'+catname+'/default.jpg');
      });
  </script>

因此,如果类别名称为“Phone”,则生成的src将为http://img.example.com/phone/default.jpg

按方式,此代码是为了避免BigCommerce服务器将所有图像下载到服务器。