JQuery:如何更改img的src属性的“image.png”部分

时间:2016-09-21 17:15:25

标签: jquery

我正在尝试在检测到特定信用卡架构时更改图像。

所以,我的代码从这开始:

declaration
  : INT VARNUM '=' expression ';'
  ;

经过多次尝试并失败后,我写了这段代码:

         <div class="form-group cc-number-group">
            <label for="cc-number" class="control-label">Card number <small class="text-muted">[<span class="cc-brand"></span>]</small></label>
            <div class="input-group">
                <input style="border-right: 0;" id="cc-number" type="tel" size="20" data-stripe="number"  class="form-control cc-number card-generic form-control input-sm" autocomplete="cc-number" />
                <div class="input-group-addon">
                    <img height="16px" class="credit-card-icon" src="/bundles/bundlename/images/credit.png" />
                </div>
            </div>
        </div>

因此,例如,如果我输入Visa信用卡,则新 switchCreditCardIcon = function(vendor) { var path = $('.credit-card-icon').attr('src').split('/'); path.pop(-1); path.push(vendor + '.png'); newPath = document.domain + path.join('/'); $('.credit-card-icon').attr('src', path); }; 为“签证”。

现在,如果我vendor控制台记录console.log(newPath),但127.0.0.1/bundles/bundlename/images/visa.png属性设置为src,那么我收到错误:

  

http://127.0.0.1:8000/path/to/page/,bundles,bundlename,images,visa.png 404(未找到)

但是,除了错误之外,也许有一种更简单的方法可以做到这一点......有人可以给我一些建议吗?

2 个答案:

答案 0 :(得分:5)

 newPath = document.domain + path.join('/');
 $('.credit-card-icon').attr('src', path);

您将newPath设置为与/相关联的路径,甚至将其包括在console.log(newPath)中,但您将src设置为path。我相信它应该是:

$('.credit-card-icon').attr('src', newPath);

答案 1 :(得分:0)

JSBIN-URL JS-BIN

equals比数组中的pushpop更快

JQUERY

  ctr=0;
    $('button').click(function(){
      var t =$('input').val();
      $('p').html(t);
      arr= t.split('/');
      arr[arr.length-1]=ctr+".pmg";
      newPath=arr.join("/")
      $('p').html(newPath);
      ctr++;
    });

<强> HTML

  <script src="https://code.jquery.com/jquery-2.0.3.js"></script>
     <input type="text"/>
     <button>OK</button>
     <p></p>