我正在尝试在检测到特定信用卡架构时更改图像。
所以,我的代码从这开始:
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(未找到)
但是,除了错误之外,也许有一种更简单的方法可以做到这一点......有人可以给我一些建议吗?
答案 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
比数组中的push
和pop
更快
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>